コガネブログ

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

2019-03-01から1ヶ月間の記事一覧

【Unity】Shift + Alt + C で Editor.log を開くエディタ拡張

ソースコード

【Unity】Scene ビューの左上にズーム率を表示できるエディタ拡張「SceneViewUIOverlay」紹介

概要 上記のスクリプトを Unity プロジェクトの「Editor」フォルダに導入することで Scene ビューの左上にズーム率を表示できようになります ズーム率をクリックすると 100% にリセットされます 参考ツイート Using #unity3d to develop 2D content or UI? H…

【Unity】IL2CPP ビルド時に有効になる #define ディレクティブ「ENABLE_IL2CPP」

概要 using UnityEngine; public class Example : MonoBehaviour { private void Awake() { #if ENABLE_IL2CPP Debug.Log( "ENABLE_IL2CPP" ); #endif } } 「ENABLE_IL2CPP」は IL2CPP ビルド時に有効になる #define ディレクティブです

【Unity】Unity 2019.2.0a6 新機能 シーン遷移にかかった時間の内訳を Editor.log で閲覧できるようになった

概要 Console ウィンドウを右クリックして 「Open Editor Log」を選択した時に表示される Editor.log で LightmapEditorSettings: switching bake backend from 1 to 0. Unloading 26 Unused Serialized files (Serialized files now loaded: 0) UnloadTime:…

【Unity】Fruit Ninja のような処理を Unity プロジェクトで再現したプロジェクト「Fruit Ninja in Unity」紹介

はじめに 「Fruit Ninja in Unity」は Fruit Ninja のような処理を Unity プロジェクトで再現したプロジェクトです GIF 動画

【Unity】Shader で 2つの MaterialPropertyDrawer が使用できる「ShaderInspector」紹介

はじめに 「ShaderInspector」を Unity プロジェクトに導入することで Shader で 2つの MaterialPropertyDrawer が使用できます 使用例 Disable Shader "Mya/TestShader" { Properties { _MainTex1 ("Texture1", 2D) = "white" {} _Color1 ("Color1" , Color…

【Unity】モバイルにおけるテクスチャの最大サイズ(2017年9月)

概要 2017年9月時点でほとんどのモバイル端末が 4096 x 4096 のテクスチャをサポートしているらしい iOS:iPhone 4S 以降、iPad 2 以降でサポートされている Android:98.4 % の端末でサポートされている

【Unity】アセットをお気に入りとして管理できる「bookmark-everything」紹介

はじめに 「bookmark-everything」を Unity プロジェクトに導入することで アセットをお気に入りとして管理できるようになります 使い方 Unity メニューの「Window>Bookmark Everything」を選択して 表示されたウィンドウにアセットをドラッグすることで ア…

【Unity】iOS で Architecture を Universal から ARM64 に変更すると Xcode のビルド時間がどれだけ削減できるか調べてみた

はじめに iOS で Architecture を Universal から ARM64 に変更すると Xcode のビルド時間がどれだけ削減できるか調べてみました 検証環境 Unity バージョン:2018.3.7f1 空の Unity プロジェクトで検証 検証結果 Architecture ビルド時間 タスク数 Universa…

【Unity】指定した SpriteAtlas をパックできる「SpriteAtlasUtility.PackAllAtlases」

概要 using UnityEditor; using UnityEditor.U2D; using UnityEngine.U2D; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var path = "【SpriteAtlas のパス】"; var atlas = AssetDatabase.LoadAssetAtPath<SpriteAtlas>( pat</spriteatlas>…

【Unity】Unity プロジェクト内のすべての SpriteAtlas をパックできる「SpriteAtlasUtility.PackAllAtlases」

概要 using UnityEditor; using UnityEditor.U2D; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { SpriteAtlasUtility.PackAllAtlases( BuildTarget.Android ); } } SpriteAtlasUtility.PackAllAtlases を使用する…

【Unity】Android で Target Architectures を減らすとビルド時間がどれだけ削減できるか調べてみた

はじめに Android で Target Architectures を減らすと ビルド時間がどれだけ削減できるか調べてみました 検証環境 Unity バージョン:2018.3.7f1 Scripting Backend:IL2CPP Build System:Gradle 空の Unity プロジェクトで検証 検証結果 Architecture ビ…

【Unity】Android で Target Architectures を減らすとアプリ容量がどれだけ削減できるか調べてみた

はじめに Android で Target Architectures を減らすと アプリ容量がどれだけ削減できるか調べてみました 検証環境 Unity バージョン:2018.3.7f1 Scripting Backend:IL2CPP Build System:Gradle 空の Unity プロジェクトで検証 検証結果 Architecture 容…

【Unity】iOS Bundle ID has not been set up correctly

概要 Exception: iOS Bundle ID has not been set up. Please set up the iOS Bundle ID in the Player Settings. The value must contain only alphanumeric characters (A-Z, a-z, and 0-9), hyphens (-), and periods (.). You also have to create a Pro…

【Unity】iOS の Architecture を変更するエディタ拡張

概要 iOS の Player Settings に存在する Architecture は using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] public static void Hoge() { PlayerSettings.SetArchitecture( BuildTargetGroup.iOS, 0 ); } } PlayerSettings.Se…

【Unity】Unity 2018.1 新機能 iOS / Android で「GUIUtility.systemCopyBuffer」を使用すると文字列をクリップボードにコピーできる

概要 using UnityEngine; public class Example : MonoBehaviour { private void Awake() { GUIUtility.systemCopyBuffer = "ピカチュウ"; } } Unity 2018.1 から GUIUtility.systemCopyBuffer を使用すると iOS でも Android でもクリップボードに文字列を…

【Unity】Unity 2018.3 新機能「Application.consoleLogPath」コンソールログの出力先のパスを取得できる

概要 using UnityEngine; public class Test : MonoBehaviour { private void Awake() {; Debug.Log( Application.consoleLogPath ); } } コンソールログの出力先のパスを取得できる「Application.consoleLogPath」が (おそらく)Unity 2018.3 から追加され…

【Unity】Unity 2018.3 新機能「Render outside safe area」Android ノッチ付き端末でセーフエリアの範囲外も描画するかどうか設定できる

概要 Unity 2018.3 より Android の Player Settings の Resolution and Presentation に 「Render outside safe area」という項目が追加されました この項目をオンにすると、Android ノッチ付き端末で セーフエリアの範囲外も描画するようになります(デフ…

【Unity】Android で外部キャッシュの保存領域のパスを取得する関数を自作してみる

概要 UnityEngine.Application.temporaryCachePath と同様の文字列を返す関数を自作してみる ソースコード using UnityEngine; public static class AndroidUtils { public static string GetExternalCacheDir() { using ( var player = new AndroidJavaClas…

【Unity】Android で外部データの保存領域のパスを取得する関数を自作してみる

概要 UnityEngine.Application.persistentDataPath と同様の文字列を返す関数を自作してみる ソースコード using UnityEngine; public static class AndroidUtils { public static string GetExternalFilesDir() { using ( var player = new AndroidJavaClas…

【Unity】Android でユーザーがアクセスできない内部キャッシュの保存領域のパスを取得する関数

ソースコード using UnityEngine; public static class AndroidUtils { public static string GetCacheDir() { using ( var player = new AndroidJavaClass( "com.unity3d.player.UnityPlayer" ) ) using ( var activity = player.GetStatic<AndroidJavaObject>( "currentActivi</androidjavaobject>…

【Unity】Android でユーザーがアクセスできない内部データの保存領域のパスを取得する関数

ソースコード using UnityEngine; public static class AndroidUtils { public static string GetFileDir() { using ( var player = new AndroidJavaClass( "com.unity3d.player.UnityPlayer" ) ) using ( var activity = player.GetStatic<AndroidJavaObject>( "currentActivit</androidjavaobject>…

【C#】.NET アセンブリを逆コンパイルできる「dotPeek」紹介

C#

はじめに 「dotPeek」を使用すると .NET アセンブリを逆コンパイルできるようになります 入手方法 上記のページで「GET DOTPEEK」を選択することで入手できます 使い方 .dll ファイルをドラッグ&ドロップすることで、その .dll を逆コンパイルできます

【Unity】iOS ビルド後に Xcode プロジェクトの「Debug Information Format」に「DWARF」を設定するエディタ拡張

概要 「Debug」以外の項目にも「DWARF」を設定したい場合は 19行目の "Debug" の部分を "Release" や "ReleaseForProfiling" 、 "ReleaseForRunning" などに変更します 「DWARF with dSYM File」を設定したい場合は 21行目の "dwarf" の部分を "dwarf-with-d…

【Unity】iOS ビルド後に Xcode プロジェクトの「Enable Bitcode」をオフにするエディタ拡張

概要 参考サイト様 https://support.unity3d.com/hc/en-us/articles/207942813-How-can-I-disable-Bitcode-support-

【Unity】指定したフォルダに含まれているすべてのファイルの依存関係も含めたハッシュ値を計算できるスクリプト

ソースコード(引用) 使用例 指定したフォルダに含まれているいずれかのファイルか、 それらのファイルが依存しているファイルが変更された場合に 違うハッシュ値が取得できるため、ファイルに変更があったかどうかの検知に使用できます 参考サイト様

【Mac】Mac のコア数を確認する方法

概要 system_profiler SPHardwareDataType ターミナルで上記のコマンドを実行する 出力された文字列中の「Total Number or Cores」がコア数 参考サイト様

【Unity】iOS で加速度センサを無効化してパフォーマンスを改善する

概要 iOS で加速度センサを使用しない場合、 Unity メニューの「File > Build Settings...」から 「Player Settings...」を開いて、iOS の Other Settings の中に存在する 「Accelerometer Frequency」を「Disabled」にすることで 少しだけパフォーマンスを…

【Unity】uGUI でドローコールを増やさずにカラーブレンドの方法を変更できる「UI_Color_Blend_example」紹介

はじめに https://github.com/mochi5420/UI_Color_Blend_example 「UI_Color_Blend_example」を Unity プロダクトに導入することで uGUI でドローコールを増やさずにカラーブレンドの方法を変更できるようになります 使用例 シェーダやマテリアルを用意して…

【Unity】Unity 2018 以降の TextMesh Pro の FontAtlas は Inspector から更新できる

概要 Unity 2018 以降の TextMesh Pro の FontAtlas は Inspector で「Update Atlas Texture」ボタンを押すことで 前回生成した時の設定が反映された状態の Font Creator ウィンドウが表示されて FontAtlas を更新することができます