[英]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.