Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d Can';t在Unity Inspector上绘制可序列化类_Unity3d_Drawing_Editor_Serializable_Inspector - Fatal编程技术网

Unity3d Can';t在Unity Inspector上绘制可序列化类

Unity3d Can';t在Unity Inspector上绘制可序列化类,unity3d,drawing,editor,serializable,inspector,Unity3d,Drawing,Editor,Serializable,Inspector,这是我的示例类和MonoBehavior脚本: using UnityEngine; using System; [Serializable] public class TestSerializableClass { public int a; public string b; } public class TestScript : MonoBehaviour { public TestSerializableClass field1; [HideInInsp

这是我的示例类和MonoBehavior脚本:

using UnityEngine;
using System;

[Serializable]
public class TestSerializableClass
{
    public int a;
    public string b;
}

public class TestScript : MonoBehaviour
{
    public TestSerializableClass field1;
    [HideInInspector] public TestSerializableClass field2;
}
这是MonoBehavior脚本的编辑器脚本

using UnityEditor;

[CustomEditor(typeof(TestScript))]
public class TestScriptEditor : Editor
{
    SerializedProperty testClass;

    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();
        SerializedProperty testField = serializedObject.FindProperty("field2");
        EditorGUILayout.PropertyField(testField, true);

    }
}

为什么它不像第一个那样画“field2”变量

我可以用编辑器脚本和属性字段来完成吗?怎么做


(includeChildre标志为true)

从字段2中删除HIDEININSECTT属性

谢谢!这就是问题所在!您不能使用DrawDefaultInspector()自己绘制隐藏字段。你需要画所有的东西或者什么都不画。