🦴
ちょっと便利になるUnityEditor Attribute
さんざん色んな人がこすってきたネタだろうけど、いろいろい知らなかったのでメモ
HelpURL
[HelpURL("https://docs.unity3d.com/ScriptReference/HelpURLAttribute.html")]
public class SampleFieldAnnotations : MonoBehaviour
{}
unityのinspectorでcomponentをattachしたときに出る "?" マークをクリックすると、指定したURLに飛ぶ機能
AssetStoreで公開するscriptやossで作ったスクリプトのdocリンク貼ったりすると良さそう
Header
[Header("--- Header Attribute ---")] public int HP = 0;
boldの字体でsection分けできる.
inspectorのfieldが多いときとか良さそう.
Tooltip
[Tooltip("help tooltip")] public int Help = 0;
inspectorでマウスオーバーしたときにtooltipを表示してくれる
Min
inspector経由でfloatを入力する際に、指定した値未満は入力できないようにする.
なぜかmaxはないという不思議.
[Min(1)] public float minValue;
Range
表示がスライダーになり、上限と加減を指定できる
[Range(0, 10)] public int range;
Space
inspectorのproperty間にスペースを指定px挟む
[Space(30)] public string TextArea;
Multiline/TextArea
テキストを複数行で入力可能にしてくれる
MultilineAttribute
TextAreaAttribute
[TextArea(minLines: 1, maxLines: 3)] public string TextArea;
[Multiline(lines: 10)] public string MultiLineString;
multilineが固定行数の一方.
TextAreaは最小行数/最大行数が指定できる伸縮タイプ表示タイプ. オーバーしたときにはスクロールしてくれる.
個人的にはTextAreaのほうが使いやすいと感じた.
NonReorderable
順番を入れ替えれない配列表示のときに利用する
[NonReorderable] public int[] nonReorderableArray;
public int[] reorderableArray;
InspectorName
enumでdropdown表示する際に別名で表示する
public SampleEnum sample;
public enum SampleEnum
{
[InspectorName("0 bit")]
None = 0,
[InspectorName("1 bit")]
One = 1,
}
ColorUsage
color pickerを表示するときにalphaとintensity(露出)の表示有無を指定できる
[ColorUsage(showAlpha: false, hdr: false)]
public Color color1;
[ColorUsage(showAlpha: true, hdr: true)]
public Color color2;
Discussion