版本:Unity 6 (6000.0)
语言英语
  • C#

EditorGUILayout.CurveField

建议更改

成功!

感谢您帮助我们改进 Unity 文档质量。虽然我们无法接受所有提交,但我们会阅读用户提出的每项更改建议,并在适当的情况下进行更新。

关闭

提交失败

由于某些原因,无法提交您的更改建议。请在几分钟后<a>重试</a>。感谢您花时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static AnimationCurve CurveField(AnimationCurve value, params GUILayoutOption[] options);

声明

public static AnimationCurve CurveField(string label, AnimationCurve value, params GUILayoutOption[] options);

声明

public static AnimationCurve CurveField(GUIContent label, AnimationCurve value, params GUILayoutOption[] options);

声明

public static AnimationCurve CurveField(AnimationCurve value, Color color, Rect ranges, params GUILayoutOption[] options);

声明

public static AnimationCurve CurveField(string label, AnimationCurve value, Color color, Rect ranges, params GUILayoutOption[] options);

声明

public static AnimationCurve CurveField(GUIContent label, AnimationCurve value, Color color, Rect ranges, params GUILayoutOption[] options);

参数

label 显示在字段前面的可选标签。
value 要编辑的曲线。
color 用于显示曲线的颜色。
ranges 曲线受限在其内的可选矩形。
options 指定额外布局属性的可选布局选项列表。此处传递的任何值都将覆盖由style定义的设置。
其他资源:GUILayout.WidthGUILayout.HeightGUILayout.MinWidthGUILayout.MaxWidthGUILayout.MinHeightGUILayout.MaxHeightGUILayout.ExpandWidthGUILayout.ExpandHeight

返回值

动画曲线 用户编辑的曲线。

描述

制作用于编辑 动画曲线 的字段。


在不同的轴上创建动画并将其分配给游戏对象。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

public class FollowCurve : EditorWindow { AnimationCurve curveX = AnimationCurve.Linear(0, 0, 10, 10); AnimationCurve curveY = AnimationCurve.Linear(0, 0, 10, 10); AnimationCurve curveZ = AnimationCurve.Linear(0, 0, 10, 10);

[MenuItem("Examples/Create Curve For Object")] static void Init() { FollowCurve window = (FollowCurve)EditorWindow.GetWindow(typeof(FollowCurve)); window.Show(); }

void OnGUI() { curveX = EditorGUILayout.CurveField("Animation on X", curveX); curveY = EditorGUILayout.CurveField("Animation on Y", curveY); curveZ = EditorGUILayout.CurveField("Animation on Z", curveZ);

if (GUILayout.Button("Generate Curve")) AddCurveToSelectedGameObject(); }

void AddCurveToSelectedGameObject() { if (Selection.activeGameObject) { FollowAnimationCurve comp = Selection.activeGameObject.AddComponent<FollowAnimationCurve>();

comp.SetCurves(curveX, curveY, curveZ); } else { Debug.LogError("No Game Object selected for adding an animation curve"); } } }

以及适用于此示例的脚本

using UnityEngine;
using System.Collections;

public class FollowAnimationCurve : MonoBehaviour { public AnimationCurve curveX; public AnimationCurve curveY; public AnimationCurve curveZ;

public void SetCurves(AnimationCurve xC, AnimationCurve yC, AnimationCurve zC) { curveX = xC; curveY = yC; curveZ = zC; }

void Update() { transform.position = new Vector3(curveX.Evaluate(Time.time), curveY.Evaluate(Time.time), curveZ.Evaluate(Time.time)); } }

声明

public static void 曲线字段(序列化属性 属性颜色 颜色矩形 范围,params GUILayoutOption[] 选项);

声明

public static void 曲线字段(序列化属性 属性颜色 颜色矩形 范围GUIContent 标签,params GUILayoutOption[] 选项);

参数

属性 要编辑的曲线。
color 用于显示曲线的颜色。
ranges 曲线受限在其内的可选矩形。
options 指定额外布局属性的可选布局选项列表。此处传递的任何值都将覆盖由style定义的设置。
其他资源:GUILayout.WidthGUILayout.HeightGUILayout.MinWidthGUILayout.MaxWidthGUILayout.MinHeightGUILayout.MaxHeightGUILayout.ExpandWidthGUILayout.ExpandHeight
label 在字段前显示的可选标签。传递 [[GUIContent.none] 以隐藏标签。

描述

制作用于编辑 动画曲线 的字段。