コガネブログ

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

【Unity】【Odin Inspector 2.0 新機能】特定のクラスにプロパティやボタンを付与できる「Property Processors」

アセット 概要 using UnityEngine; public enum JobType { SOLDIER, SORCERER, HUNTER, } public class Example : MonoBehaviour { public int m_id; } using Sirenix.OdinInspector; using Sirenix.OdinInspector.Editor; using System.Collections.Generic…

【Unity】【Odin Inspector 2.0 新機能】ValueDropdown 属性が拡張された

アセット 概要 using Sirenix.OdinInspector; using System.Collections; using System.Collections.Generic; using UnityEngine; public class Example : MonoBehaviour { [ValueDropdown( "GetAllChildObjects" )] public GameObject m_object; [ValueDrop…

【Unity】Odin Inspector で ScriptableObject をリストから作成できるエディタ拡張を実装する

はじめに 「Odin Inspector」を使用することで、 ScriptableObject をリストから作成できるエディタ拡張を実装できます 概要 例えば、Unity プロジェクトにこれらの ScriptableObject のコードが存在して using UnityEngine; public class ItemData : Script…

【Unity】「Odin Inspector」の ver 1.0.6.0 がリリースされて EditorWindow も拡張できるようになりました

はじめに 2018/1/23 に「Odin Inspector」の ver 1.0.6.0 がリリースされて、 EditorWindow も拡張できるようになりました また、ObjectField が拡張されたり、新しい Attribute が追加されたりしています EditorWindow の拡張 OdinEditorWindow や OdinMenu…

【Unity】「Odin - Inspector and Serializer」を64件の記事に分けて紹介

はじめに この記事は「Unity アセット真夏のアドベントカレンダー 2017」の8/5の記事です 昨日は ぽうひろ さんの「DoozyUIでUnityUIを時短de簡単に作っちゃおう!!」でした 明日は ゆーじ さんの「DaydreamのコントローラーをHoloLensで使う」です 概要 20…

【Unity】【Odin - Inspector and Serializer】パラメータを垂直方向のグループに分ける「VerticalGroup」属性

目次 「VerticalGroup」属性 「VerticalGroup」属性を使用すると 変数を垂直方向のグループに分けることができます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [HorizontalGroup( "Group" )] [VerticalGroup(…

【Unity】【Odin - Inspector and Serializer】ラベルの幅を調整する「LabelWidth」属性

目次 「LabelWidth」属性 「LabelWidth」属性を使用すると ラベルの幅を調整できます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { public int a1; [LabelWidth( 32 )] public int a2; } 使い方 下記の様に記述…

【Unity】【Odin - Inspector and Serializer】Dictionary の表示を調整する「DictionaryDrawerSettings」属性

目次 「DictionaryDrawerSettings」属性 「DictionaryDrawerSettings」属性を使用すると Dictionary の表示を調整できます using Sirenix.OdinInspector; using System.Collections.Generic; public class Example : SerializedMonoBehaviour { [DictionaryD…

【Unity】【Odin - Inspector and Serializer】クラスや構造体のパラメータを折りたたみ無しで表示する「InlineProperty」属性

目次 「InlineProperty」属性 「InlineProperty」属性を使用すると クラスや構造体のパラメータを折りたたみ無しで表示できるようになります using Sirenix.OdinInspector; using System; using UnityEngine; public class Example : MonoBehaviour { public…

【Unity】【Odin - Inspector and Serializer】プレハブではないオブジェクトの値を非表示にする「HideInNonPrefabs」属性

目次 「HideInNonPrefabs」属性 「HideInNonPrefabs」属性を使用すると プレハブではないオブジェクトの値を非表示にすることができます Project ビューのプレハブ Hierarchy ビューのプレハブ プレハブではないオブジェクト ソースコード using Sirenix.Odi…

【Unity】【Odin - Inspector and Serializer】プレハブではないオブジェクトの値を編集不可にする「DisableInNonPrefabs」属性

目次 「DisableInNonPrefabs」属性 「DisableInNonPrefabs」属性を使用すると プレハブではないオブジェクトの値を編集不可にすることができます Project ビューのプレハブ Hierarchy ビューのプレハブ プレハブではないオブジェクト ソースコード using Sir…

【Unity】【Odin - Inspector and Serializer】Project ビューのプレハブの値を編集不可にする「DisableInPrefabAssets」属性

目次 「DisableInPrefabAssets」属性 「DisableInPrefabAssets」属性を使用すると Project ビューのプレハブの値を編集不可にすることができます Project ビューのプレハブ Hierarchy ビューのプレハブ プレハブではないオブジェクト ソースコード using Sir…

【Unity】【Odin - Inspector and Serializer】Project ビューのプレハブの値を非表示にする「HideInPrefabAssets」属性

目次 「HideInPrefabAssets」属性 「HideInPrefabAssets」属性を使用すると Project ビューのプレハブの値を非表示にすることができます Project ビューのプレハブ Hierarchy ビューのプレハブ プレハブではないオブジェクト ソースコード using Sirenix.Odi…

【Unity】【Odin - Inspector and Serializer】Hierarchy ビューのプレハブの値を編集不可にする「DisableInPrefabInstances」属性

目次 「DisableInPrefabInstances」属性 「DisableInPrefabInstances」属性を使用すると Hierarchy ビューのプレハブの値を非表示にすることができます Project ビューのプレハブ Hierarchy ビューのプレハブ プレハブではないオブジェクト ソースコード usi…

【Unity】【Odin - Inspector and Serializer】Hierarchy ビューのプレハブの値を非表示にする「HideInPrefabInstances」属性

目次 「HideInPrefabInstances」属性 「HideInPrefabInstances」属性を使用すると Hierarchy ビューのプレハブの値を非表示にすることができます Project ビューのプレハブ Hierarchy ビューのプレハブ プレハブではないオブジェクト ソースコード using Sir…

【Unity】【Odin - Inspector and Serializer】プレハブの値を非表示にする「HideInPrefabs」属性

目次 「HideInPrefabs」属性 「HideInPrefabs」属性を使用すると プレハブの値を非表示にすることができます Project ビューのプレハブ Hierarchy ビューのプレハブ プレハブではないオブジェクト ソースコード using Sirenix.OdinInspector; using UnityEng…

【Unity】【Odin - Inspector and Serializer】プレハブの値を編集不可にする「DisableInPrefabs」属性

目次 「DisableInPrefabs」属性 「DisableInPrefabs」属性を使用すると プレハブの値を編集不可にすることができます Project ビューのプレハブ Hierarchy ビューのプレハブ プレハブではないオブジェクト ソースコード using Sirenix.OdinInspector; using …

【Unity】【Odin - Inspector and Serializer】プレハブのインスタンスで値を閲覧不可能にする「ShowForPrefabOnly」属性

目次 「ShowForPrefabOnly」属性 「ShowForPrefabOnly」属性を使用すると プレハブのインスタンスで値を閲覧不可能にすることができます 注意 現在は「ShowForPrefabOnly」属性は非推奨となっており 下記の属性が推奨されています プレハブの値を非表示にす…

【Unity】【Odin - Inspector and Serializer】プレハブのインスタンスで値を編集不可能にする「EnableForPrefabOnly」属性

目次 「EnableForPrefabOnly」属性 「EnableForPrefabOnly」属性を使用すると プレハブのインスタンスで値を編集不可能にすることができます 注意 現在は「EnableForPrefabOnly」属性は非推奨となっており 下記の属性が推奨されています プレハブの値を非表…

【Unity】【Odin - Inspector and Serializer】GUI を拡張する「OnInspectorGUI」属性

目次 「OnInspectorGUI」属性 「OnInspectorGUI」属性を使用すると GUI を拡張することができます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [OnInspectorGUI( "DrawLabel1" )] public int i1; [OnInspector…

【Unity】【Odin - Inspector and Serializer】設定された値をラップアラウンドする「Wrap」属性

目次 「Wrap」属性 「Wrap」属性を使用すると 設定された値をラップアラウンドすることができます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [Wrap( 0, 360 )] public int i; } 使い方 下記のように記述する…

【Unity】【Odin - Inspector and Serializer】bool 値のチェックボックスを変数名の左側に表示する「ToggleLeft」属性

目次 「ToggleLeft」属性 「ToggleLeft」属性を使用すると bool 値のチェックボックスを変数名の左側に表示することができます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { public bool isEnable1; [ToggleLef…

【Unity】【Odin - Inspector and Serializer】変数やプロパティにカーソルを重ねた時にヒントを表示する「PropertyTooltip」属性

目次 「PropertyTooltip」属性 「PropertyTooltip」属性を使用すると Inspector で変数やプロパティにカーソルを重ねた時に ヒントを表示することができます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { // Un…

【Unity】【Odin - Inspector and Serializer】GUI に色を設定できる「GUIColor」属性

目次 「GUIColor」属性 「GUIColor」属性を使用すると Inspector に表示される GUI の色を設定できるようになります using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [GUIColor( 0, 1, 1 )] public int i1; [GUICo…

【Unity】【Odin - Inspector and Serializer】文字列を複数行表示できる「MultiLineProperty」属性

目次 「MultiLineProperty」属性 「MultiLineProperty」属性を使用すると Inspector で文字列を複数行に分けて表示することができます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { // Unity [Multiline( 3 )] …

【Unity】【Odin - Inspector and Serializer】設定できる値を制限できる「MinValue」「MaxValue」属性

目次 「MinValue」「MaxValue」属性 「MinValue」「MaxValue」属性を使用すると Inspector で設定できる値の最小値と最大値を設定できるようになります using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [MinValue(…

【Unity】【Odin - Inspector and Serializer】最小値と最大値の範囲を設定できる「MinMaxSlider」属性

目次 「MinMaxSlider」属性 「MinMaxSlider」属性を使用すると Inspector で最小値と最大値の範囲を設定できるようになります using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [MinMaxSlider( -10, 10 )] public V…

【Unity】【Odin - Inspector and Serializer】パラメータの内容を編集不可能な文字列で表示する「DisplayAsString」属性

目次 「DisplayAsString」属性 「DisplayAsString」属性を使用すると 変数やプロパティの内容を、 編集不可能な文字列で Inspector に表示できます using Sirenix.OdinInspector; using System; using UnityEngine; public class Example : MonoBehaviour { …

【Unity】【Odin - Inspector and Serializer】意図しない値が設定されたらエラーメッセージを表示する「ValidateInput」属性

目次 「ValidateInput」属性 「ValidateInput」属性を使用すると 意図しない値が設定された時にエラーメッセージを表示できるようになります using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [ValidateInput( "Has…

【Unity】【Odin - Inspector and Serializer】Project 内のアセットや、Scene 上のオブジェクトやコンポーネントのみをアタッチ可能にする「AssetsOnly」「SceneObjectsOnly」属性

目次 「AssetsOnly」「SceneObjectsOnly」属性 「AssetsOnly」属性を使用すると Project 内のアセットのみアタッチできるようになります 「SceneObjectsOnly」属性を使用すると Scene 上のオブジェクトやコンポーネントのみ アタッチできるようになります us…