コガネブログ

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

【Unity】TreeView の実装例を閲覧できる「texture-tree-view」紹介

はじめに 「texture-tree-view」では TreeView の実装例を閲覧できます 実装例 Unity メニューの「TreeViewSample」から閲覧できます Hierarchy のようなビュー テーブルレイアウト 昇順、降順の変更や検索、 カラムの表示、非表示の変更などが可能です ソー…

【Unity】Mac OS の Spotlight 検索のような機能を使用できる「Unity3D Editor Extensions and Tools」紹介

はじめに 「Unity3D Editor Extensions and Tools」を Unity プロジェクトに導入することで Mac OS の Spotlight 検索のような機能を使用できるようになります 使い方 Ctrl + . を押すと使用できます

【Unity】Transform の Inspector にリセットボタンやコピペボタンを追加できる「Unity3D Editor Extensions and Tools」紹介

はじめに 「Unity3D Editor Extensions and Tools」を Unity プロジェクトに導入することで Transform の Inspector にリセットボタンやコピペボタンを追加できるようになります 使い方 ローカル座標系、グローバル座標系を変更するボタンが追加されます R …

【Unity】PlayerPrefs のデータを閲覧・編集できる「Player Preferences Editor for Unity 3D」紹介

はじめに 「Player Preferences Editor for Unity 3D」を Unity プロジェクトに導入することで PlayerPrefs のデータを閲覧・編集できるようになります 使い方 Unity メニューの「Tools > DevTools > Preferences Editor」を選択すると PlayerPrefs のデータ…

【Unity】自由に変形できるボックスを使用できる「Deform」紹介

はじめに 「Deform」を Unity プロジェクトに導入することで 自由に変形できるボックスを使用できるようになります 使用例 使い方 Unity メニューの「Tools > Deform > Creator」を選択して 「Create Deformable」を選択すると 自由に変形できるボックスをシ…

【Unity】Transform の Inspector にリセットボタンを追加したりできる「Extended Transform Editor」紹介

はじめに 「Extended Transform Editor」を Unity プロジェクトに導入することで Transform の Inspector にリセットボタンを追加したりできるようになります 使い方 各項目の右端のアイコンを選択すると、パラメータを初期値にリセットできます Transform …

【Unity】コンパイル中とコンパイル完了時にサウンドを再生できる「Elevator Compiler」紹介

はじめに 「Elevator Compiler」を Unity プロジェクトに導入することで コンパイル中とコンパイル完了時にサウンドを再生できるようになります 使用例

【Unity】Inspector で変数にシーンファイルを設定できる「Scene Field」紹介

はじめに 「Scene Field」を Unity プロジェクトに導入することで Inspector で変数にシーンファイルを設定できるようになります 使用例 using Trisibo; using UnityEngine; using UnityEngine.SceneManagement; public class Example : MonoBehaviour { pub…

【Unity】Inspector でクラスのパラメータを一行で表示できる「one-line」紹介

はじめに 「one-line」を Unity プロジェクトに導入することで Inspector でクラスのパラメータを一行で表示できるようになります 使用例 using System; using UnityEngine; using OneLine; public class Example : MonoBehaviour { [SerializeField, OneLin…

【Unity】コンパイル時間を計測できる「CompileTime.cs」紹介

概要 上記のスクリプトを Unity プロジェクトの「Editor」フォルダに追加することで コンパイル時間が Console ウィンドウで確認できるようになります

【Unity】Inspector で配列やリストをテーブルレイアウトで表示できる「EditorGUITable」紹介

はじめに 「EditorGUITable」を Unity プロジェクトに導入することで Inspector で配列やリストをテーブルレイアウトで表示できるようになります 使用例 使い方 using EditorGUITable; using System; using UnityEngine; public enum CharacterType { NORMAL…

【Unity】プロジェクトに含まれているアセットの容量をカテゴリ別で可視化できる「VikingReSize」紹介

はじめに 「VikingReSize」を Unity プロジェクトに導入することで プロジェクトに含まれているアセットの容量をカテゴリ別で可視化できるようになります 使い方 Unity メニューの「Viking > ReSize」を選択して 「Analyze」ボタンを押すことで使用できます

【Unity】参照が設定されていないパラメータを Inspector で強調表示できる「UnityNonNull」紹介

はじめに 「UnityNonNull」を Unity プロジェクトに導入することで 参照が設定されていないパラメータを Inspector で強調表示できるようになります 使い方 using UnityEngine; public class Example : MonoBehaviour { [NonNull] public Camera m_camera; […

【Unity】Resources フォルダのアセットをファイルパスではなく Inspector の参照から読み込むことができる「Unity Delayed Asset」紹介

はじめに 「Unity Delayed Asset」を Unity プロジェクトに導入することで Resources フォルダのアセットをファイルパスではなく Inspector の参照から読み込むことができるようになります 使用例 using UnityEngine; public class Example : MonoBehaviour …

【Unity】Alt + 3 で Inspector を再描画するエディタ拡張

ソースコード 参考サイト様

【Unity】Project Settings の「Disable Unity Audio」をスクリプトから操作する方法

概要 using System.Linq; using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var path = "ProjectSettings/AudioManager.asset"; var manager = AssetDatabase.LoadAllAssetsAtPath( path ).First…

【Unity】お気に入り(ブックマーク)機能に関する記事まとめ

概要 Project ビューの Favorites(お気に入り)機能の使い方 Favorites Tab[s] bookmark-everything Unity Favourites Panel ScenePanel Favourites Unity-AssetBookmarker

【Unity】空のフォルダ(ディレクトリ)を一括で削除するエディタ拡張

ソースコード 使い方 上記のスクリプトを Unity プロジェクトの「Editor」フォルダに追加して Unity メニューの「Tools > Remove empty folders」を選択すると 空のフォルダ(ディレクトリ)を一括で削除できます 参考サイト様 関連記事

【Unity】Lighting ウィンドウの「Auto Generate」をオフにするエディタ拡張

ソースコード using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { Lightmapping.giWorkflowMode = Lightmapping.GIWorkflowMode.OnDemand; } }

【Unity】すべてのシーンの Global Illumination をオフにするエディタ拡張

ソースコード

【Unity】CanEditMultipleObjects 属性を適用したエディタ拡張で選択中のすべてのオブジェクトのパラメータを更新する方法

概要 using UnityEngine; public class Example : MonoBehaviour { public string m_name; } 例えば、上記のようなコンポーネントを自作して、 using UnityEditor; [CanEditMultipleObjects] [CustomEditor( typeof( Example ) )] public sealed class Examp…

【Unity】1つの EditorWindow を複数開く方法

概要 var win = GetWindow<Example>( TITLE ); 通常、エディタ拡張でウィンドウを開きたい場合は EditorWindow.GetWindow を使用しますが この記述だと1つの EditorWindow を複数開くことはできません var win = CreateInstance<Example>(); win.titleContent = new GUIContent</example></example>…

【Unity】ビルド時に Build Summary をテキストファイルに書き込むサンプル

ソースコード 使用例 <b>ビルド概要</b> ビルド開始日時 : 2019/01/01 09:00:00 GUID : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX オプション : ForceOptimizeScriptCompilation Il2CPP StripDebugSymbols CompressTextures ShowBuiltPlayer 出力先 : D:/app/app.exe プラ…

【Unity】Scene View のカメラの位置と角度をシーンのメインカメラに同期させるエディタ拡張

ソースコード 使い方 Unity メニューの「Edit > Scene View Camera Align」をオンにすると Scene View のカメラの位置と角度をシーンのメインカメラに同期させることができます

【Unity】ビルド時に Resources フォルダにテキストファイルを作るエディタ拡張

概要 using System.IO; using System.Text; using UnityEditor; using UnityEditor.Build; using UnityEditor.Build.Reporting; public class Example : IPreprocessBuildWithReport, IPostprocessBuildWithReport { private const string PATH = "Assets/Re…

【Unity】シリアライズされたシングルトンなアセットの参照をエディタ拡張で取得できる「Unsupported.GetSerializedAssetInterfaceSingleton」

概要 using UnityEditor; using UnityEngine; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var playerSettings = Unsupported.GetSerializedAssetInterfaceSingleton( "PlayerSettings" ) as PlayerSettings; Debug.Lo…

【Unity】3D モデルがインポートされた時にマテリアルをプレハブ外に出すエディタ拡張

概要 現在の Unity は 3D モデルがインポートされた時に マテリアルがプレハブの中に内包された形になりますが、 using UnityEditor; public sealed class ModelPostprocessor : AssetPostprocessor { private void OnPreprocessModel() { var importer = as…

【Unity】Inspector に Sprite の画像プレビューを表示する機能を自作する

はじめに Inspector の Sprite の画像プレビューを表示する機能を自作する場合、 どのようなコードを記述すれば良いのか調べてみたのでメモ 方法 上記のスクリプトを Unity プロジェクトの「Editor」フォルダに追加すると 同じ見た目で Sprite の画像プレビ…

【Unity】Unity エディタのレイアウトのインポート・エクスポートができる「Unity-LayoutExporter」紹介

はじめに 「Unity-LayoutExporter」を Unity プロジェクトに導入することで Unity エディタのレイアウトのインポート・エクスポートができるようになります 使い方 Unity メニューの「Window>Layout Tools」から操作できます エクスポートしたい場合は「Expo…

【Unity】Scene ビューに手早くギズモを表示できる「FastGizmosUnity」紹介

はじめに 「FastGizmosUnity」を Unity プロジェクトに導入することで Scene ビューに手早くギズモを表示できるようになります 使用例 適用前 適用後 使い方 「FastGizmos」をアタッチすると任意のギズモを表示できます 表示できるギズモはこのように用意さ…