在 Unity 中,SerializeField、HideInInspector、Header 是三個常用的屬性修飾器,可以用於改變 Inspector 的顯示方式。
SerializeField :
正常情況下 private 數值是隱藏起來的,SerializeField 用於將 private 屬性公開於 Inspector,讓開發者可以在 Inspector 中修改其數值。通常在不想將變數設為 public 的情況下使用。
範例中 speed 浮點變數可以直接於 Inspector 中直接修改。
public class Player : MonoBehaviour
{
[SerializeField]
private float speed = 10f;
}
HideInInspector:
用於隱藏變數不顯示在 Inspector 中,不過其數值仍然可以在腳本中修改,相當於是在「後台」操作。
範例中 a 變數將不會出現在 Inspector 中。
public class Player : MonoBehaviour
{
[HideInInspector]
public int a = 10;
}
Header:
用於在 Inspector 中添加標題。
範例中兩項變數在 Inspector 上面各會顯示移動速度、生命值的標題,方便識別。
public class Player : MonoBehaviour
{
[Header("移動速度")]
public float speed = 10f;
[Header("生命值")]
public int health = 100;
}