Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.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
C# Curvefield在unity 2017.1版本中消失_C#_Unity3d - Fatal编程技术网

C# Curvefield在unity 2017.1版本中消失

C# Curvefield在unity 2017.1版本中消失,c#,unity3d,C#,Unity3d,在我写了一个EditorGUILayout.Curvefield(“curve”,新的AnimationCurve())在自定义编辑器脚本中的OnInspectorGUI函数中,对于自定义可脚本对象,它不会出现在Inspector中。但是如果我将代码更改为EditorGUILayout.Curvefield(“curve”,null)。将有一个曲线字段,但无法在曲线编辑窗口中编辑。 如何更改代码以使曲线字段正常工作? 或者这是一个团结的错误 EditorGUILayout.Curvefield(

在我写了一个
EditorGUILayout.Curvefield(“curve”,新的AnimationCurve())在自定义编辑器脚本中的
OnInspectorGUI
函数中,对于自定义可脚本对象,它不会出现在Inspector中。但是如果我将代码更改为
EditorGUILayout.Curvefield(“curve”,null)。将有一个曲线字段,但无法在曲线编辑窗口中编辑。
如何更改代码以使曲线字段正常工作?
或者这是一个团结的错误

EditorGUILayout.Curvefield("curve", new AnimationCurve());
这将在每次调用OnInspectorGUI时创建一条只读的动画曲线

EditorGUILayout.Curvefield("curve", null);
零曲线的点是什么?这是完全错误的


正确使用:

MyScript.cs

using UnityEngine;
public class MyScript : MonoBehaviour
{
    public AnimationCurve myCurve = AnimationCurve.Linear(0, 0, 10, 10);
}
编辑器/MyScriptEditor.cs

using UnityEditor;
using UnityEngine;    
[CustomEditor(typeof(MyScript))]
public class MyScriptEditor : Editor
{
    void OnInspectorGUI()
    {
        var myScript = (MyScript)target;
        EditorGUILayout.CurveField("curve", myScript.myCurve);
    }
}
那么结果是:

它是可编辑的