在 Unity3D 检查器中显示 class 的成员

Show members of a class in Unity3D inspector

我需要像屏幕截图一样在对象检查器中编辑此结构: Structure

编辑

我有一个附加到我的主要对象的脚本。它有一个名为 TestData 的成员,它本身还有另外两个成员 I 和 F.

当我单击主对象时,如何让 Unity Inspector 通过其成员(I、F)而不是对 TestData 的引用来编辑 TestData?

在 Unity 中创建脚本并将其附加到游戏对象。脚本必须来自 MonoBehaviour

您可以向脚本添加 public 个变量并在检查器中查看它们。

c#:

public Vector3 StartPoint;

您可以将 [System.Serializable] 添加到 class:

[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);
        //...
    }
}