前往
大廳
主題

【Unity】屬性修飾器 SerializeField、HideInInspector、Header 使用方法

炎魔Cafe | 2023-02-15 19:56:20 | 巴幣 2 | 人氣 831

在 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;
}

創作回應

saturn Lee
為什麼不要顯示在Inspector中,這樣有什麼好處呀
2023-12-08 00:24:20
炎魔Cafe
public數量過多會造成介面混亂,有時候需要給其他腳本調用時又不想顯示可以使用
2023-12-08 20:11:58

更多創作