簡體   English   中英

在 Unity3D 檢查器中顯示類的成員

[英]Show members of a class in Unity3D inspector

我需要像截圖一樣在對象檢查器中編輯這個結構:結構

編輯

我有一個附加到我的主要對象的腳本。 它有一個名為 TestData 的成員,該成員本身還有兩個其他成員 I 和 F。

當我單擊主對象時,如何啟用 Unity Inspector 以通過其成員(I、F)而不是對 TestData 的引用來編輯 TestData?

在 Unity 中創建一個腳本並將其附加到一個游戲對象。 腳本必須從MonoBehaviour派生

您可以向腳本添加公共變量並在檢查器中查看它們。

C#:

public Vector3 StartPoint;

您可以將[System.Serializable]添加到類中:

[System.Serializable]
public class TestData
{
     public int I;
     public int F;
}

或者,如果您希望檢查器顯示除默認編輯器面板之外的其他內容,您可以為您的類型定義一個 CustomPropertyDrawer。

[CustomPropertyDrawer(typeof(MyScript))]
public class MyScriptDrawer : PropertyDrawer
{
    public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
    {

        //...
        EditorGUI.BeginProperty(position, label, property);
        EditorGUI.LabelField(new Rect(x, y, w, h), "title");
        EditorGUI.PropertyField(rect, I, GUIContent.none);
        //...
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM