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