关于Unity Inspector上的一些常用技巧,一般用于编辑器扩展或者其他

周龙光
2023-12-01

RequireComponent
RequireComponent用于给Object添加必要的组件,也可以理解为通过代码代替“Add Component”的操作,能够有效避免由于忘记添加必要的组件而造成的报错,同时也适用于为多个Object添加相同组件的场景,省去了重复操作。

另外RequireComponent代码需要放在类的前面

[RequireComponent(typeof(Rigidbody))]
[RequireComponent(typeof(AudioSource))]

需要注意的是,当要移除通过RequireComponent添加的组件时,需要先移除脚本,否则产生如下警告。

Range
Range为变量限定取值范围,但仅限于在Inspector窗口中,也就是说,通过代码改变变量的值是不受Range约束的

[Range(1, 5)]
public int Speed;
[Range(0,1)]
public float Time;

Space
Space使Inspector窗口中字段之间的间隔增大

public float Max;
public float Min;
[Space()]
public float Speed;

SerializeField
一般来说,只有public的变量才会显示在Inspector窗口中,但SerializeField可以忽略访问修饰符,使private的变量也能显示

private bool NotInInspector;
[SerializeField] private bool InInspector;

HideInInspector
使public的字段不显示在Inspector窗口中

[HideInInspector]
public float Hide;      
public float notHide;

Tooltip
为Inspcetor窗口中的字段附加一段文字说明

[Tooltip("Health value between 0 and 100.")]
public int Health = 100;

Header
给Inspector字段加标题,实现分组

[Header(“Text”)]
public Text hp;
public Text mp;
public Text power;
public Text defense;

 类似资料: