【问题标题】:Unity custom editor serialize Vector3unity 自定义编辑器序列化 Vector3
【发布时间】:2015-05-03 19:04:33
【问题描述】:

我正在尝试运行以下命令:

[CustomEditor(typeof(MyObject))]
public class MyObjectEditor : Editor {

    public override void OnInspectorGUI(){
        MyObject t = (MyObject)target;
        Mesh mesh = t.GetComponent<MeshFilter>().sharedMesh;
        Vector3[] vertices = mesh.vertices;
        EditorGUILayout.PropertyField(vertices);
    }
}

但我收到此错误:

Argument `#1' cannot convert `UnityEngine.Vector3[]' 
expression to type `UnityEditor.SerializedProperty'

如何将Vector3[] 放入PropertyField 而不必将其放入MyObject 类中?

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    由于Vector3[] 类型不是SerializedProperty,所以不能使用PropertyField 方法。但是,您可以使用Vector3Field

    for(int i = 0; i < mesh.vertices.Length; i++)
    {
        mesh.vertices[i] = EditorGUILayout.Vector3Field("Vertice " + i, mesh.vertices[i]);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-04
      • 2014-07-08
      相关资源
      最近更新 更多