EditorGUILayout.CurveField 是 Unity 编辑器中用于绘制和编辑 AnimationCurve 类型字段的控件。它允许用户通过 GUI 直接选择和调整动画曲线,提供了一个直观的方式来控制时间和数值之间的关系。
using UnityEditor;
using UnityEngine;
public class AdvancedCurveFieldExample : EditorWindow
{
private AnimationCurve curve = AnimationCurve.Linear(0, 0, 1, 1);
[MenuItem("Window/曲线窗口")]
public static void ShowWindow()
{
GetWindow<AdvancedCurveFieldExample>("曲线窗口");
}
private void OnGUI()
{
GUILayout.Label("曲线", EditorStyles.boldLabel);
curve = EditorGUI.CurveField(GUILayoutUtility.GetRect(200, 200), "动画曲线",
curve, Color.green, new Rect(0, 0, 1, 1));
}
}
运行效果