AnimationCurve

今天发现这个函数,查了一下,我觉得非常实用.编辑一条任意变化的曲线用在任何你想用在的地方。 如曲线地形,曲线轨迹.
基本用法是:
1.创建物体.
2.创建脚本.
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
public AnimationCurve anim;
}
然后你就能在Inspector中看到 ,双击绿色线那个窗口你就可以进行编辑.进去怎么用就自己研究吧.

AnimationCurve可以理解为2部分。(1)键序列(2)左右循环模式(又作左右包裹模式)
一:键序列
创建键序列:Keyframe[] ks = new Keyframe[3];
曲线中加入键序列:AnimationCurve curve = new AnimationCurve(ks);
获取曲线中的键序列:curve[index]   或者 curve.keys[index]
添加单键: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;

例子就丢官方代码上来了:
public AnimationCurve anim;
    private Keyframe[] ks;
    void Start()
    {
        ks = new Keyframe[50];
        int i = 0;
        while (i < ks.Length)
        {
            ks[i] = new Keyframe(i, i * i);
            i++;
        }
        anim = new AnimationCurve(ks);
    }

    void Update()
    {
        transform.position = new Vector3(Time.time, anim.Evaluate(Time.time), 0);
    }
我说下效果吧,就是物体一直斜向上升.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值