コガネブログ

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

【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】プレハブのインスタンスで値を編集不可能にする「EnableForPrefabOnly」属性

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

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

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

【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…

【Unity】【Odin - Inspector and Serializer】Quaternion、Vector3、Bounds、Rect の視認性が向上

目次 Quaternion、Vector3、Bounds、Rect の表示の拡張 「Odin - Inspector and Serializer」を Unity プロジェクトに追加すると Quaternion、Vector3、Bounds、Rect の表示が拡張されて 少しだけ視認性が向上します using UnityEngine; public class Exampl…

【Unity】【Odin - Inspector and Serializer】ゲームを実行しているかどうかで項目を非表示にする「HideInPlayMode」「HideInEditorMode」属性

目次 「HideInPlayMode」「HideInEditorMode」属性 「HideInPlayMode」属性を使用すると ゲームを実行している間は項目が非表示になります 「HideInEditorMode」属性を使用すると ゲームを実行していない時は項目が非表示になります using Sirenix.OdinInspe…

【Unity】【Odin - Inspector and Serializer】ラベルの文言を変更する「LabelText」属性

目次 「LabelText」属性 「LabelText」属性を使用すると 変数やプロパティのラベルをカスタマイズできます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [LabelText( "変数 1" )] public int i1; [LabelText( "…

【Unity】【Odin - Inspector and Serializer】パラメータの表示順を変更できる「PropertyOrder」属性

目次 「PropertyOrder」属性 「PropertyOrder」属性を使用すると 変数やプロパティの表示順を変更することができます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [PropertyOrder( 2 )] public int i1; [Prope…

【Unity】【Odin - Inspector and Serializer】ラベルを非表示にする「HideLabel」属性

目次 「HideLabel」属性 「HideLabel」属性を使用すると 変数やプロパティのラベルを非表示にできます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { public int a1; [HideLabel] public int a2; } 使い方 下記…

【Unity】【Odin - Inspector and Serializer】配列やリストの表示を調整する「ListDrawerSettings」属性

目次 「ListDrawerSettings」属性 「ListDrawerSettings」属性を使用すると 配列やリストの Inspector の表示を調整できます using Sirenix.OdinInspector; using System.Collections.Generic; using UnityEngine; public class Example : MonoBehaviour { […

【Unity】【Odin - Inspector and Serializer】アタッチされているコンポーネントやアセットのプロパティ欄を表示する「InlineEditor」属性

目次 「InlineEditor」属性 「InlineEditor」属性を使用すると アタッチされているコンポーネントやアセットのプロパティ欄を その場に表示できるようになります そのため、該当するコンポーネントやアセットを選択せずとも その場でパラメータの調整ができ…

【Unity】【Odin - Inspector and Serializer】private 変数やプロパティを Inspector に表示する「ShowInInspector」属性

目次 「ShowInInspector」属性 「ShowInInspector」属性を使用すると private 変数やプロパティを Inspector に表示できるようになります ※値は保存されません using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [Sh…

【Unity】【Odin - Inspector and Serializer】ジェネリッククラスやインターフェイス、null 許容型の変数を Inspector で設定できるようにする「SerializedMonoBehaviour」クラス

目次 「SerializedMonoBehaviour」クラス 「SerializedMonoBehaviour」を継承することで そのクラス内で定義したインターフェイスや ジェネリッククラス、null 許容型の変数を Inspector で設定できるようになります using Sirenix.OdinInspector; using Sys…

【Unity】【Odin - Inspector and Serializer】インデントを設定できる「Indent」属性

目次 「Indent」属性 「Indent」属性を使用すると 変数やプロパティのインデントを設定できます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [Indent] public int i1; [Indent( 2 )] public int i2; [Indent( …

【Unity】【Odin - Inspector and Serializer】詳細な説明文付きでインフォメーションを表示する「DetailedInfoBox」属性

目次 「DetailedInfoBox」属性 「DetailedInfoBox」属性を使用すると Inspector に詳細な説明文付きインフォメーションを表示できます 説明文はクリックで開閉可能です using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehavio…

【Unity】【Odin - Inspector and Serializer】インフォメーションを表示する「InfoBox」属性

目次 「InfoBox」属性 「InfoBox」属性を使用すると Inspector にインフォメーションを表示できます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [InfoBox( "ピカチュウ" )] public int a1; [InfoBox( "カイリ…

【Unity】【Odin - Inspector and Serializer】ゲームを実行しているかどうかで項目を編集できるようにする「DisableInPlayMode」「DisableInEditorMode」属性

目次 「DisableInPlayMode」「DisableInEditorMode」属性 「DisableInPlayMode」属性を使用すると ゲームを実行している間は値が変更できないようになります 「DisableInEditorMode」属性を使用すると ゲームを実行していない時は値が変更できないようになり…

【Unity】【Odin - Inspector and Serializer】条件を満たしているかどうかで項目を表示するかどうかを変更できる「ShowIf」「HideIf」属性

目次 「ShowIf」「HideIf」属性 「ShowIf」属性を使用すると 条件を満たしている場合に変数やプロパティが表示されるようになります 「HideIf」属性を使用すると 条件を満たしている場合に変数やプロパティが非表示になります using Sirenix.OdinInspector; …

【Unity】【Odin - Inspector and Serializer】条件を満たしているかどうかで項目を編集できるようにする「EnableIf」「DisableIf」属性

目次 「EnableIf」「DisableIf」属性 「EnableIf」属性を使用すると 条件を満たしている場合にのみ変数やプロパティが編集可能になります 「DisableIf」属性を使用すると 条件を満たしていない場合にのみ変数やプロパティが編集可能になります using Sirenix…

【Unity】【Odin - Inspector and Serializer】変数ごとのコンテキストメニューを無効化する「DisableContextMenu」属性

目次 「DisableContextMenu」属性 「DisableContextMenu」属性を使用すると 変数を右クリックしても コンテキストメニューが表示されなくなります using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [DisableContext…

【Unity】【Odin - Inspector and Serializer】変数ごとのコンテキストメニューに項目を追加する「CustomContextMenu」属性

目次 「CustomContextMenu」属性 「CustomContextMenu」属性を使用すると 変数を右クリックした時に表示されるコンテキストメニューに 項目を追加することができます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour…

【Unity】【Odin - Inspector and Serializer】変数のコピー・ペースト、配列やリストの削除が可能

目次 変数のコピー・ペーストが可能 変数を右クリックすることで 値のコピーやペーストが可能です 配列やリストの削除 配列やリストの場合は すべての要素を削除することも可能です

【Unity】【Odin - Inspector and Serializer】値が変更された時に呼び出されるコールバック関数を設定できる「OnValueChanged」属性

目次 「OnValueChanged」属性 「OnValueChanged」属性を使用すると 変数やプロパティの値が変更された時に呼び出される コールバック関数を指定することができます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour {…

【Unity】【Odin - Inspector and Serializer】パラメータを編集不可能にする「ReadOnly」属性

目次 「ReadOnly」属性 「ReadOnly」属性を使用すると 指定した変数やプロパティの編集が不可能になります using Sirenix.OdinInspector; using System.Collections.Generic; using UnityEngine; public class Example : MonoBehaviour { [ReadOnly] public …

【Unity】【Odin - Inspector and Serializer】カラーパレットから色を指定できるようになる「ColorPalette」属性

目次 「ColorPalette」属性 「ColorPalette」属性を使用すると カラーパレットから色を設定できるようになります using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [ColorPalette] public Color color1; [ColorPale…

【Unity】【Odin - Inspector and Serializer】シリアライズする(翻訳)

目次 メモ この記事は下記のページの一部翻訳となります http://sirenix.net/odininspector/manual/introduction/serialize-anything 翻訳には間違いがあるかもしれないのでご了承ください はじめに Odin のシリアライズシステムは、 通常ではシリアライズさ…

【Unity】【Odin - Inspector and Serializer】Attribute を使用したデザイン(翻訳)

目次 メモ この記事は下記のページの一部翻訳となります http://sirenix.net/odininspector/manual/introduction/design-with-attributes 翻訳には間違いがあるかもしれないのでご了承ください はじめに Odin ではクラスのメンバにいくつかの属性を適用する…

【Unity】【Odin - Inspector and Serializer】入門(翻訳)

目次 メモ この記事は下記のページの一部翻訳となります http://sirenix.net/odininspector/manual/introduction/getting-started 翻訳には間違いがあるかもしれないのでご了承ください はじめに Odin の具体的なクラスやメソッドについて知りたい場合は 下…

【Unity】【Odin - Inspector and Serializer】ボタンをグループ化して表示する「ButtonGroup」属性

目次 「ButtonGroup」属性 「ButtonGroup」属性を使用すると ボタンをグループ化して表示できるようになります using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [ButtonGroup( "グループ A" )] private void OnCli…

【Unity】【Odin - Inspector and Serializer】パラメータの横にボタンを表示する「InlineButton」属性

目次 「InlineButton」属性 「InlineButton」属性を使用すると 変数やプロパティの横にボタンを表示することができます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [InlineButton( "OnClick" )] public int a…

【Unity】【Odin - Inspector and Serializer】Inspector にボタンを表示する「Button」属性

目次 「Button」属性 「Button」属性を使用すると Inspector にボタンを表示できるようになります using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [Button] private void OnClick1() { } [Button( "ボタン" )] pr…

【Unity】【Odin - Inspector and Serializer】ドロップダウンメニューからパラメータを設定できるようになる「ValueDropdown」属性

目次 「ValueDropdown」属性 「ValueDropdown」属性を使用すると ドロップダウンメニューから変数やプロパティの値を設定できるようになります using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { private static str…

【Unity】【Odin - Inspector and Serializer】Inspector に見出しを表示する「Title」属性

目次 「Title」属性 「Title」属性を使用すると Inspector で見出しを表示することができます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [Title( "タイトル" )] public int a1; public int a2; [Title( "タ…

【Unity】【Odin - Inspector and Serializer】パラメータをタイトル付きのグループに分ける「TitleGroup」属性

目次 「TitleGroup」属性 「TitleGroup」属性を使用すると 変数をタイトル付きのグループに分けることができます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [TitleGroup( "グループ A" )] public int a1; [T…

【Unity】【Odin - Inspector and Serializer】パラメータを開閉可能なグループに分ける「FoldoutGroup」属性

目次 「FoldoutGroup」属性 「FoldoutGroup」属性を使用すると 変数を開閉可能なグループに分けることができます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [FoldoutGroup( "グループ A" )] public int a1; …

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

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

【Unity】【Odin - Inspector and Serializer】トグル付きのグループに分ける「ToggleGroup」「Toggle」属性

目次 「ToggleGroup」「Toggle」属性 「ToggleGroup」「Toggle」属性を使用すると 変数をトグル付きのグループに分けることができます using Sirenix.OdinInspector; using System; using UnityEngine; public class Example : MonoBehaviour { [ToggleGroup…

【Unity】【Odin - Inspector and Serializer】パラメータをタブでグループ分けする「TabGroup」属性

目次 「TabGroup」属性 「TabGroup」属性を使用すると 変数をタブ付きのグループに分けることができます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [TabGroup( "タブ A" )] public int a1; [TabGroup( "タブ…

【Unity】【Odin - Inspector and Serializer】パラメータをグループ分けする「BoxGroup」属性

目次 「BoxGroup」属性 「BoxGroup」属性を使用すると 変数をグループ分けすることができます using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [BoxGroup( "グループ A" )] public int a1; [BoxGroup( "グループ A…