読者です 読者をやめる 読者になる 読者になる

コガネブログ

平日更新を目標にUnityやC#などのゲーム開発アレコレを書いていきます

【Unity】Time.timeScaleを無視したdeltaTimeを取得する方法

Time.unscaledDeltaTime を使用する Debug.Log( Time.unscaledDeltaTime ); 参考サイト様

【UIクラブ】「クラッシュフィーバー」UIレビュー

クラッシュフィーバーWonderPlanet Inc.ゲーム無料 レビュー日時 2016/11/1(火) 良かったところ [A][リソースDL]ゲージが円形になっており演出も面白い [A][フレンド]フレンドがいない時のデザインが特徴的でわかりやすい [B][ショップ]拡張確認ダイアログな…

【UIクラブ】「FINAL FANTASY Record Keeper」UIレビュー

FINAL FANTASY Record KeeperDeNA Co., Ltd.ゲーム無料 レビュー日時 2016/10/25(火) 良かったところ [A][パーティ]「まとめてはずす」ボタンが存在する 装備の付け外しを試しやすい [A][バトル結果]リザルトでゲージが動く時にエフェクトが重なって表示され…

【UIクラブ】「バンドやろうぜ!」UIレビュー

バンドやろうぜ!Aniplex Inc.ゲーム無料 レビュー日時 2016/10/18(火) 良かったところ [A][ヘッダー]画面が切り替わる時に左上のメニュー名が回転する演出がカッコいい [A][全般]常にインフォメーションが定位置に表示されていてわかりやすい [A][ライブ]発…

【UIクラブ】「オルタナティブガールズ」UIレビュー

オルタナティブガールズCyberAgent, Inc.ゲーム無料 レビュー日時 2016/10/11(火) 良かったところ [A][ホーム]リアルタイムの時間に合わせて明るさが変わる ゲームとリアルがつながっている感じが出る [A][全般]アイコンで表示できる項目にはアイコンが表示…

【UIクラブ】「白猫テニス」UIレビュー

白猫テニスCOLOPL, Inc.ゲーム無料 レビュー日時 2016/10/4(火) 良かったところ [A][全般]世界観に合わせて3Dモデルのボタンとかが配置してある オリジナリティに富んでいる [A][全般]演出が良い NEWアイコン、NOW LOADING画面の背景、リザルト、新エリア出…

【UIクラブ】「アイドルマスター シンデレラガールズ スターライトステージ」UIレビュー

アイドルマスター シンデレラガールズ スターライトステージBANDAI NAMCO Entertainment Inc.ゲーム無料 レビュー日時 2016/9/27(火) 良かったところ [A][全般]各画面で統一感がある UIの動き ページタイトルの位置 戻るボタンの位置 並べ替えボタン 操作し…

【UIクラブ】「あんさんぶるスターズ!」UIレビュー

あんさんぶるスターズ!Happy Elements K.Kゲーム無料 レビュー日時 2016/9/13(火) 良かったところ [A][全般]テンポよく遊ぶことができる 演出がほとんどないため [A][コース詳細]プロデュース開始時に消費するAP量がわかりやすい 「プロデュース開始!」ボ…

【UIクラブ】「ガールフレンド(おんぷ)」UIレビュー

ガールフレンド(おんぷ)CyberAgent, Inc.ゲーム無料 レビュー日時 2016/9/6(火) 良かったところ 【全般】全体的にデザインがスッキリしている 文字のアウトラインがほとんど使用されていないため 【全般】見出し文字や強調したい文字が見やすい 重要な文字…

【UIクラブ】「アイドルコネクト」UIレビュー

アイドルコネクト-AsteriskLive-クリエイティブフロンティア株式会社ゲーム無料 レビュー日時 2016/8/30(火) 良かったところ 【メモリー覚醒】選択できないカードをタップしてしまってもテンポよく遊べる 「信頼が最大になるまで~」などの警告がダイアログ…

【UIクラブ】「ポップアップストーリー」UIレビュー

ポップアップストーリー 魔法の本と聖樹の学園SQUARE ENIX INCゲーム無料 レビュー日時 2016/8/30(火) 良かった点 【全般】文字や画像が大きくて見やすい 共通のヘッダーやフッターが表示されていないため 文字や画像を大きく表示することができる 【全般】…

UIクラブはじめました

CEDEC2016でグリーの方の講演を聴いて 「UI Discussion」という取り組みがとても面白そうだったので 有志で集まって「UIクラブ」という同様の活動を8月下旬から始めました レビュー対象のアプリを1個決める 各自で1週間、時間のある時にそのアプリをプレイし…

【Unity】【NGUI】UICenterOnChildのInspectorに整列用のボタンを追加するエディタ拡張

using UnityEditor; using UnityEngine; [CanEditMultipleObjects] [CustomEditor( typeof( UICenterOnChild ), true )] public sealed class UICenterOnChildEditor : Editor { public override void OnInspectorGUI() { DrawDefaultInspector(); if ( GUIL…

【Unity】【NGUI】UIWrapContentのInspectorにソート用のボタンを追加するエディタ拡張

using UnityEditor; using UnityEngine; [CanEditMultipleObjects] [CustomEditor( typeof( UIWrapContent ), true )] public sealed class UIWrapContentEditorCustom : UIWrapContentEditor { public override void OnInspectorGUI() { base.OnInspectorGU…

【Unity】【NGUI】UIScrollViewのInspectorにリセット用のボタンを追加するエディタ拡張

using UnityEditor; using UnityEngine; [CanEditMultipleObjects] [CustomEditor( typeof( UIScrollView ), true )] public sealed class UIScrollViewEditorCustom : UIScrollViewEditor { public override void OnInspectorGUI() { base.OnInspectorGUI()…

【Unity】【NGUI】UIGridのInspectorに整列用のボタンを追加するエディタ拡張

using UnityEditor; using UnityEngine; [CanEditMultipleObjects] [CustomEditor( typeof( UIGrid ), true )] public sealed class UIGridEditorCustom : UIGridEditor { public override void OnInspectorGUI() { base.OnInspectorGUI(); if ( GUILayout.B…

【C#】LINQのUnion関数の引数にラムダ式を使えるようにする拡張メソッド

using System; using System.Collections.Generic; using System.Linq; public static class IEnumerableExtensions { private sealed class CommonSelector<T, TKey> : IEqualityComparer<T> { private Func<T, TKey> m_selector; public CommonSelector( Func<T, TKey> selector ) { m_se</t,></t,></t></t,>…

【C#】LINQのSequenceEqual関数の引数にラムダ式を使えるようにする拡張メソッド

using System; using System.Collections.Generic; using System.Linq; public static class IEnumerableExtensions { private sealed class CommonSelector<T, TKey> : IEqualityComparer<T> { private Func<T, TKey> m_selector; public CommonSelector( Func<T, TKey> selector ) { m_se</t,></t,></t></t,>…

【C#】LINQのIntersect関数の引数にラムダ式を使えるようにする拡張メソッド

using System; using System.Collections.Generic; using System.Linq; public static class IEnumerableExtensions { private sealed class CommonSelector<T, TKey> : IEqualityComparer<T> { private Func<T, TKey> m_selector; public CommonSelector( Func<T, TKey> selector ) { m_se</t,></t,></t></t,>…

【C#】LINQのExcept関数の引数にラムダ式を使えるようにする拡張メソッド

using System; using System.Collections.Generic; using System.Linq; public static class IEnumerableExtensions { private sealed class CommonSelector<T, TKey> : IEqualityComparer<T> { private Func<T, TKey> m_selector; public CommonSelector( Func<T, TKey> selector ) { m_se</t,></t,></t></t,>…

【C#】LINQのContains関数の引数にラムダ式を使えるようにする拡張メソッド

using System; using System.Collections.Generic; using System.Linq; public static class IEnumerableExtensions { private sealed class CommonSelector<T, TKey> : IEqualityComparer<T> { private Func<T, TKey> m_selector; public CommonSelector( Func<T, TKey> selector ) { m_se</t,></t,></t></t,>…

【C#】LINQのDistinct関数の引数にラムダ式を使えるようにする拡張メソッド

using System; using System.Collections.Generic; using System.Linq; public static class IEnumerableExtensions { private sealed class CommonSelector<T, TKey> : IEqualityComparer<T> { private Func<T, TKey> m_selector; public CommonSelector( Func<T, TKey> selector ) { m_se</t,></t,></t></t,>…

【Unity】「Easy Touch」でNGUIのオブジェクトを2本指で操作された時に、イベントを呼び出されないようにする方法

バージョン 5.0.11 対応方法 EasyTouch.csの934行目以降に下記の処理を追加する // NGUI if (enabledNGuiMode){ if (IsTouchOverNGui(fingers[twoFinger.finger0].position) && IsTouchOverNGui(fingers[twoFinger.finger1].position)) { twoFinger.isOverGu…

【Unity】UniRxを使用して条件を満たしたらActionデリゲートを呼び出す汎用関数を実装する

val isCompleted = false; CoroutineUtils.CallWaitForCondition( () => isCompleted, () => Debug.Log( "ピカチュウ" ) ); CoroutineUtils.CallWaitForCondition( gameObject, () => isCompleted, () => Debug.Log( "ピカチュウ" ) );

【Unity】UniRxを使用して指定された秒数待機してからActionデリゲートを呼び出す汎用関数を実装する

CoroutineUtils.CallWaitForSeconds( 1.5f, () => Debug.Log( "ピカチュウ" ) ); CoroutineUtils.CallWaitForSeconds( gameObject, 1.5f, () => Debug.Log( "ピカチュウ" ) );

【Unity】UniRxを使用して1フレーム待機してからActionデリゲートを呼び出す汎用関数を実装する

CoroutineUtils.CallWaitForEndOfFrame( () => Debug.Log( "ピカチュウ" ) ); CoroutineUtils.CallWaitForEndOfFrame( gameObject, () => Debug.Log( "ピカチュウ" ) );

【Unity】AndroidやiOSのシェアを確認できるサイト

Unity - Mobile Hardware Stats

【C#】partialクラスにinterfaceを実装する場合

partialクラスのいずれかの定義にのみインターフェイスの実装を書けば良い public interface ICharacter { int Id { get; } } public partial class Character { } public partial class Character : ICharacter { public int Id { get { return 25; } } } v…

【Unity】ボックス化をなるべく回避してGCの発生回数を減らすstring.Format

// string.Format を使用した場合のGC発生回数検証 for ( int i = 0; i < 1000000; i++ ) { string.Format( "{0},{1},{2},{3}", 0, 1, 2, 3 ); } Console.WriteLine( GC.CollectionCount( 0 ) ); // StringUtils.Format を使用した場合のGC発生回数検証 for …

【Unity】「Error building Player: IOException: Failed to Copy File / Directory from 'Temp/StagingArea/Data' to 'Temp/StagingArea/Trampoline/Data'.」

Error building Player: IOException: Failed to Copy File / Directory from 'Temp/StagingArea/Data' to 'Temp/StagingArea/Trampoline/Data'. JenkinsでUnityのビルド実行時に発生したエラー Jenkins用のMacの容量が不足していたことが原因

【Unity】NGUI「EVENT SYSTEM」翻訳

Colliderがアタッチされているすべてのゲームオブジェクトは イベントを受け取ることが可能 using UnityEngine; public class Example : MonoBehaviour { private void OnHover( bool isOver ) { Debug.Log( "OnHover" ); } private void OnPress( bool isPr…

【Unity】NGUI「CONTEXT MENUS」翻訳

便利なメニュー ショートカットキーで実行 ショートカットキー 内容 Alt+Shift+N 選択中のオブジェクトの子に空のオブジェクトを作成 Alt+Shift+C 選択中のオブジェクトにBoxColliderをアタッチ Alt+Shift+P 選択中のオブジェクトのサイズをスナップ Unityの…

【Unity】NGUI「THE BASICS」翻訳

UIの作り方 1. プレハブをProjectビューからSceneビューにドラッグする 2. Unityのメニューから作成する 3. ショートカットキーを使用する ショートカットキー 内容 Alt+Shift+S UISprite作成 Alt+Shift+L UILabel作成 Alt+Shift+T UITexture作成 Alt+Shift+…

Unity5.4で気になった改善点と変更点メモ

AndroidでIL2CPPが正式サポート iOS6がサポート対象外に スプラッシュスクリーンに細かい設定が追加された GameObject.AddComponent<MonoBehaviour>が例外を吐くようになった 実機でログ出力するかどうかをPlaterSettingsで設定できるようになった アニメーションで同じイベ</monobehaviour>…

【おすすめAsset Store Publisher】「SURIYUN」

http://www.suriyun.com/ Anime Character SD Character Refined Airplane Control Low-Poly Pack Knight & Orc

【おすすめAsset Store Publisher】「Wizcorp」

Anime Character

【おすすめAsset Store Publisher】「BITGEM」

3Dモデル/建物 3Dモデル/キャラクター テクスチャ

【おすすめAsset Store Publisher】「Flipbook Games」

http://flipbookgames.com/

【おすすめスライド】「ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-」

ポコロンダンジョンズとリアルタイム通信 -サーバサイド編- from Suguru Shirai

【おすすめスライド】「ポコロンダンジョンズとリアルタイム通信 -クライアント編-」

ポコロンダンジョンズとリアルタイム通信 -クライアント編- from Suguru Shirai

【Unity】サンプルや完成プロジェクト、ツールがダウンロードできるページ

https://unity3d.com/jp/learn/resources/downloads

【Visual Studio】括弧に色を付ける拡張機能「Viasfora」

「Viasfora」をVisual Studioに追加することで 括弧に色を付けることができます 適用前 適用後

【Unity】ゲームオブジェクトにコメントを付与することができるアセット「GameObject Comments」

概要 「GameObject Comments」を使用すると ゲームオブジェクトにコメントを付与することができます

【おすすめスライド】「技術的負債だらけのチームで技術マネージメントしてみた」

Kichijoji pm7[talk2]技術的負債だらけのチームで技術マネージメントしてみた from Yasukazu Nagatomi

【おすすめスライド】「私はこうやってSlackを社内で流行らせました」

私はこうやってSlackを社内で流行らせました from DATAHOTEL

【Unity】Slack APIを使用してSlackにスクリーンショットをアップロードするクラス

使用例 var filename = DateTime.Now.ToString( "yyyy-MM-dd_hhmmss" ) + ".png"; var data = new UploadData { token = "【Slack API Token】", filename = filename, title = "タイトル", initial_comment = "コメント", channels = "#general", }; var ro…

【Unity】Slack APIを使用してSlackにメッセージを送信するクラス

使用例 1 var data = new PostMessageData { token = "【Slack API Token】", channel = "#general", text = "ここにテキストを入力します", }; var routine = SlackAPI.PostMessage( data ); StartCoroutine( routine ); 使用例 2 var data = new PostMessa…

【Unity】Incoming WebHooksを使用してSlackにメッセージを送信するクラス

このクラスはUnity5.3以上で使用することができます 使用例 1 var url = "【Webhook URL】"; var payload = new Payload { text = "ここにテキストを入力します", }; var routine = IncomingWebhooks.SendMessage( url, payload ); StartCoroutine( routine …

【C#】WWWFormでコレクション初期化子を使用できるようにする独自クラス

Before var form = new WWWForm(); form.AddField( "frameCount", Time.frameCount.ToString() ); form.AddBinaryData( "fileUpload", bytes, "screenShot.png", "image/png" ); After var form = new WWWFormCollection { { "frameCount", Time.frameCount.…

【C#】StringBuilderでコレクション初期化子を使用できるようにする独自クラス

C#

// Before var builder = new StringBuilder(); builder.AppendLine( "1. フシギダネ" ); builder.AppendFormat( "2. {0}", "フシギソウ" ).AppendLine(); builder.AppendFormat( "3. {0}", "フシギバナ" ).AppendLine(); Console.WriteLine( builder ); // …