label | 显示在字段前面的可选标签。 |
value | 要编辑的曲线。 |
color | 用于显示曲线的颜色。 |
ranges | 曲线受限在其内的可选矩形。 |
options | 指定额外布局属性的可选布局选项列表。此处传递的任何值都将覆盖由style 定义的设置。其他资源:GUILayout.Width、GUILayout.Height、GUILayout.MinWidth、GUILayout.MaxWidth、GUILayout.MinHeight、GUILayout.MaxHeight、GUILayout.ExpandWidth、GUILayout.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)); } }
属性 | 要编辑的曲线。 |
color | 用于显示曲线的颜色。 |
ranges | 曲线受限在其内的可选矩形。 |
options | 指定额外布局属性的可选布局选项列表。此处传递的任何值都将覆盖由style 定义的设置。其他资源:GUILayout.Width、GUILayout.Height、GUILayout.MinWidth、GUILayout.MaxWidth、GUILayout.MinHeight、GUILayout.MaxHeight、GUILayout.ExpandWidth、GUILayout.ExpandHeight。 |
label | 在字段前显示的可选标签。传递 [[GUIContent.none] 以隐藏标签。 |
制作用于编辑 动画曲线 的字段。