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);
}
}
那么结果是:
它是可编辑的