コガネブログ

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

【Unity】Unity5.4.4f1でAndroidのIL2CPP版のROMをビルドするとキャッシュが肥大化していく

Unity5.4.4f1でAndroidのIL2CPP版のROMをビルドしていたところ、 ビルドを繰り返すたびにLibraryフォルダ内の 下記のフォルダのサイズが少しずつ増えていく現象が発生し、 ビルドマシンの容量が圧迫される問題に遭遇した il2cpp_android_armeabi-v7a il2cpp_…

【Unity】iOS10の端末においてFPSが60の状態でスリープから復帰するとアプリが強制終了することがある

再現したUnityのバージョン Unity5.6.0b2 Unity5.5.0p3 Unity5.4.4f1 発生条件 iOS10の端末においてFPSが60の状態でスリープから復帰するとアプリが強制終了する 解決方法 サスペンドする時にFPSを30に変更する private int m_prevFps; private void OnAppli…

【NGUI】NGUIでマスクを使用する方法

UIPanel を配置する 「Clipping」を「Texture Mask」に設定する マスクに使用するテクスチャを設定する UIPanel の子供にマスクを適用したいオブジェクトを配置する

【Unity】Windows 7 における Unity エディタのログの保存場所

C:\Users\【ユーザー名】\AppData\Local\Unity\Editor

【Unity】Google Cardboard SDKを使用しているUnityプロジェクトのバージョンを5.5から5.6βにアップデートした際にAndroid版のROMで起動時に発生したエラー

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.hand.cham/com.google.unity.GoogleUnityActivity}: java.lang.ClassNotFoundException: Didn't find class "com.google.unity.GoogleUnityActivity" on path: DexPathList[[…

【Unity】NGUIのUISpriteのサイズが画像サイズと等しいかどうかを確認する拡張メソッド

using NwgLibrary; namespace Cham { /// <summary> /// UISprite 型の拡張メソッドを管理するクラス /// </summary> public static class UISpriteExt { /// <summary> /// スナップされている場合 true を返します /// </summary> public static bool IsSnapped( this UISprite self ) { var data…

【C#】単数を渡せるIEnumerable.Concat

ソースコード /// <summary> /// 2 つのシーケンスを連結します /// </summary> public static IEnumerable<TSource> Concat<TSource>( this IEnumerable<TSource> first, TSource second ) { return first.Concat( new [] { second } ); }</tsource></tsource></tsource>

【Unity】ログ出力を無効化する時に「logEnabledプロパティ」を使った場合と「Conditional属性」を使った場合の処理時間の検証

検証用スクリプト using UnityEngine; public class Example : MonoBehaviour { private void Awake() { var count = 1000000; { Debug.logger.logEnabled = false; var startTime = Time.realtimeSinceStartup; for ( int i = 0; i < count; i++ ) { Debug.…

【Unity】Scene ビューから不要なオブジェクトを非表示にすることができる

概要 Unity エディタ右上の「Layers」を開いて、目のアイコンをクリックすることで 該当するレイヤーに存在するオブジェクトを Scene ビューから非表示にすることができます 例えば、2Dの作業をしていて、3Dモデルを非表示にしておきたい時に役立ちます 関連…

【Unity】Unity5.5でスクリプトからAndroidのビルド方法をIL2CPPに変更する方法

概要 下記のようなプログラムを作成する using UnityEditor; public static class ExampleClass { [MenuItem( "Tools/Example" )] public static void Example() { PlayerSettings.SetScriptingBackend( BuildTargetGroup.Android, ScriptingImplementation.…

【SVN】「svn: E200009: 'XXXX' is not under version control」

svn: E200009: 'XXXX' is not under version control MacでファイルをSVNにコミットしようとした時に上記のエラーが発生した ファイル名に空白文字が含まれていたことが原因だったため ファイル名から空白文字を削除してコミットしたトコロ、正常に動作した

【Unity】UnityプロジェクトをUnity5.5にアップデートするとアセットバンドルの読み込み時にアプリがフリーズする原因と対応方法

原因 同一フレーム内で AssetBundle.LoadAssetAsync を複数回リクエストするとアプリがフリーズする 対応方法 AssetBundle.LoadAssetAsync を AssetBundle.LoadAsset に変更する もしくは、Unity 5.5.2 で直るらしいのでそれまで待つ 参考サイト様

【Unity】Unity5.5でAndroidのIL2CPPビルド版のアプリを実機で起動すると起動直後に強制終了する不具合の原因と対応方法

エラー内容 failed to extract resources needed by il2cpp. Unity5.5でAndroidのIL2CPPビルド版のアプリを実機で起動したところ、 起動直後に上記のエラーが発生してアプリが強制終了する不具合に遭遇した 原因 グラフィックAPIに「OpenGLES3」が追加されて…

【Unity】UnityプロジェクトをUnity5.5にアップデートするとスクリプトの先頭の#ifの記述が動作しなくなる?

#if !ENABLE_RELEASE #define DISABLE_RELEASE #endif public class Example { public void Log() { #if DISABLE_RELEASE UnityEngine.Debug.Log( "テスト" ); #endif } } 上記の様な、リリースビルド用の ENABLE_RELEASE シンボルが定義されていなければ 開…

【Unity】UnityプロジェクトをUnity5.5にアップデートしている時に「Too many heap sections」というエラーが発生する原因と対応方法

Too many heap sections UnityプロジェクトをUnity5.5にアップデートしている時に 上記のエラー文言が記載されたダイアログが何回か表示されることがあった 原因 Unity5.5にアップデートすると消える関数が存在する関係で それらの関数を使用している場合に…