Unity中的动画曲线

Unity中的动画曲线

Animation Curves on Imported Clips

动画曲线可以附加到动画导入设置的动画选项卡中的导入动画片段。

这些曲线允许您将额外的动画数据添加到导入的剪辑,这可以让您根据动画制作者的状态来动画其他项目的时间。例如,在冰冷条件下的游戏中,可以使用额外的动画曲线来控制粒子系统的发射速率,以显示玩家在冷空气中的冷凝呼吸。

要为导入的动画添加曲线,首先在项目视图中选择导入的动画文件,然后在检查器的导入设置中选择动画按钮。

展开curves标题,然后单击加号图标将新曲线添加到当前动画片段。如果导入的动画文件分割为多个动画片段,则每个片段都可以有自己的自定义曲线。

展开曲线标题,然后单击加号图标将新曲线添加到当前动画片段。如果导入的动画文件分割为多个动画片段,则每个片段都可以有自己的自定义曲线。
曲线的X轴表示标准化时间,并且始终在0.0和1.0之间(分别对应于动画片段的开始和结束,而不管其持续时间)。
在这里插入图片描述
在这里插入图片描述
动画曲线导入

创建关键点:左键双击

删除关键点:

**(1)**鼠标移动至关键点上,右键->Delete Key。

**(2)**左键单击关键点,然后按键盘上的delete

**设置曲线类型:**鼠标移动至关键点上,右键->

**Auto:**根据关键点自动设置曲线。

**Free Smooth:**统一设置入切线和出切线

**Flat:**入切线和出切线为水平

**Broken:**分别设置入切线和出切线
也可以选Left Tangent(入切线)或者Right Tangent(出切线)或者Both Tangents(两切线)。

**Free:**自由曲线,与Broken效果基本一样。

**Linear:**线性曲线

**Constant:**之前一直是上个点的值,然后瞬间变为这个点的值。
其中Auto最简单,Broken调整空间最大。曲线效果以绿线为准。

**Loop:**曲线循环

Pingpong: 曲线和该曲线上下翻转后的曲线循环

**Clamp:**一直为端点的值。
代码如下


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

public class Curve : MonoBehaviour
{
    public AnimationCurve animationCurve;
    public Vector3 v3;
    // Start is called before the first frame update
    void Start()
    {
        v3 = transform.position;
    }

    // Update is called once per frame
    void Update()
    {
        transform.position = new Vector3(Time.time+v3.x, animationCurve.Evaluate(Time.time)+v3.y, v3.z);
    }
}


在这里插入图片描述把脚本挂载你想要的物体上就会按照你设置的这个曲线进行运动。

猜你喜欢

转载自blog.csdn.net/weixin_44370124/article/details/90812762