AnimationCurve动画曲线 简单使用

资料

AnimationCurve

AnimationCurve

表示一条曲线。可在曲线上添加关键帧,编辑曲线。
水平轴表示时间,竖直轴表示曲线的高度
在这里插入图片描述
获取曲线高度方法,AnimationCurve.Evaluate

示例

循环移动Cube,Cube沿着曲线移动

using UnityEngine;
public class Test : MonoBehaviour
{
    [SerializeField] AnimationCurve curve;//动画曲线 
    [SerializeField] Transform cube;//移动对象
    float xValue = 0;//曲线x轴数值 
    Vector3 pos;//cube初始位置
    bool isReduce;//是否减小xValue
    [SerializeField] float effectFactor = 1;//修改该数值 可缩放曲线数值对cube的影响

    private void Awake()
    {
        pos = cube.localPosition;
    }

    private void Update()
    {
        if (isReduce == false)
        {
            xValue += Time.deltaTime;
            if (xValue >= 1)
            {
                xValue = 1;
                isReduce = true;
            }
        }
        else
        {
            xValue -= Time.deltaTime;
            if (xValue <= 0)
            {
                xValue = 0;
                isReduce = false;
            }
        }
//修改cube位置
        cube.localPosition = pos + Vector3.up * curve.Evaluate(xValue) * effectFactor + Vector3.right * xValue * effectFactor;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值