Closed8
Odin (inspecter + validator)
公式チュートリアル
とりあえずの設定
- Serializer はとりあえず使わないので
Editor Only Mode
に変更
スクリプトから
using Sirenix.OdinInspector;
使いそうな機能 - Type Specifics
InfoBox
[InfoBox( "文字列" )]
InfoMessageType.Warning
で左の画像変更可能
Title
[Title( "タイトル" )]
[Title( "タイトル", "タイトルホルダー" )]
<h1>
タグみたいなやつ。UnityEngine.TitleAttribute とかぶるので下記のように別名を付けるのはあり
using Titleh = Sirenix.OdinInspector.TitleAttribute;
AssetList
[AssetList(Path = "/Plugins/Sirenix/")]
public List<ScriptableObject> AssetList;
対象を限られたフォルダ内から選ぶ。タグ等他の要素もあり
ChildGameObjectsOnly
[ChildGameObjectsOnly]
public GameObject ChildGameObject;
子オブジェクトからのみ
color palette
[ColorPalette("My Palette")]
public Color MyColor;
パレットは別で作成しておく
InlineEditor
[InlineEditor(InlineEditorModes.LargePreview)]
インラインでprefab等をおなじinspecterで表示
使いそうな機能 - Essentials
ReadOnly
[ReadOnly]
public string MyString = "This is displayed as text";
インスペクターで表示されるが値は変更できない。private な要素は表示されないので public とかの要素向け。
Required
[Required]
public GameObject MyGameObject;
指定してない場合インスペクター内でエラー表示
ShowInInspector
[ShowInInspector]
private int myPrivateInt;
ReadOnly と違ってインスペクターから変更できるがシリアル化されない。private 用という感じ
使いそうな機能 - validation
ChildGameObjectsOnly
[ChildGameObjectsOnly]
public Transform ChildOrSelfTransform;
子オブジェクトからのみ
MinMaxValue
[MinValue(0)]
public int IntMinValue0;
[MaxValue(0)]
public int IntMaxValue0;
最大・最小値
Range
[Range(0, 10)]
public int Field = 2;
スライダーで決定できる
使いそうな機能 - Group/Button
Button
[Button("Name of button")]
private void NamedButton()
{
this.Toggle = !this.Toggle;
}
関数を実行するボタン。デバッグ時に使いそう。引数も指定可能。
FoldoutGroup
[FoldoutGroup("Group 1")]
public int A;
[FoldoutGroup("Group 1")]
public int B;
あまり変更しない系をまとめて隠せる
Tab group
[TabGroup("General")]
public string playerName1;
[TabGroup("General")]
public int playerLevel1;
[TabGroup("General")]
public string playerClass1;
[TabGroup("Stats")]
public int strength1;
[TabGroup("Stats")]
public int dexterity1;
[TabGroup("Stats")]
public int intelligence1;
タブで分けられるが、毎回指定するのちょっと面倒。
使いそうな機能 - Misc, Numbers
Infobox
[InfoBox("Default info box.")]
説明文など。InfoMessageType.Warning, InfoMessageType.Error もある
Progress Bar
[ProgressBar(0, 100)]
public int ProgressBar = 50;
視覚的に変数をバーとして表示
このスクラップは2023/07/27にクローズされました