基本操作:
创建关键点:左键双击
删除关键点:
(1)鼠标移动至关键点上,右键->Delete Key。
(2)左键单击关键点,然后按键盘上的delete
一个键有两个切线 - 左侧一个用于进入坡度,另一个用于出口坡度。切线控制键之间的曲线形状。您可以从许多不同的切线类型中进行选择,以控制曲线离开一个键并到达下一个键的方式。右键单击某个键以选择该键的切线类型
要使动画值在传递键时平滑变化,左右切线必须是共线的。以下切线类型可确保平滑度:
有时您可能不希望曲线在通过键时是平滑的。要在曲线中创建急剧变化,请选择 Broken 切线模式。
使用Broken的切线时,可以单独设置左右切线,也可以一起设置左右切线。左右切线中的每一个都可以设置为以下类型之一:
Broken - Weighted:根据句柄的长度设置曲线切线。
当设置曲线后,起点和终点,会出现一个下拉按钮,出现三种方式:
Loop:循环
Ping Pong:曲线和源曲线上下翻转后的曲线循环。
Clamp:一直为端点的值。
当左边选择Loop循环,右边设置Clamp:
AnimationCurve包括:(1)键序列 (2)左右循环模式
一:键序列
创建键序列:Keyframe[] ks = new Keyframe[3];
曲线中加入键序列:AnimationCurve curve = new AnimationCurve(ks);
获取曲线中的键序列:Keyframe key = curve[2];或者 Keyframe key = curve.keys[2];
添加单键:curve.Addkey(time,value)
删除单键:curve.RemoveKey(index)
二:左右循环
anim.preWrapMode = WrapMode.Loop;
anim.postWrapMode = WrapMode.Once;
三:键
Keyframe kf = new Keyframe(time,value);
设置入切线:kf.inTangent = 45;
设置出切线:kf.outTangent = 45;
登录后复制
using UnityEngine;public class AnimationCurveTest : MonoBehaviour{ public AnimationCurve curve; void Start() { // 代码控制曲线,也可以在Curve控制器中生成曲线 Keyframe[] ks = new Keyframe[3]; ks[0] = new Keyframe(0, 0); ks[0].inTangent = 0; ks[1] = new Keyframe(4, 0); ks[1].inTangent = 45; ks[2] = new Keyframe(8, 0); ks[2].inTangent = 90; curve = new AnimationCurve(ks); } void Update() { // 使用曲线,调用curve.Evaluate transform.position = new Vector3(Time.time, -curve.Evaluate(Time.time) * 0.5f, 0); }}1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删