AnimationCurve是Unity3D 使用和常用方法
·
AnimationCurve是Unity3D里一个非常实用的功能,作用是编辑一条任意变化的曲线用在任何你想用在的地方。比如说曲线地形,曲线轨迹等。也被用在了模型动画播放时的碰撞盒缩放及重力调节。下面就给大家介绍下AnimationCurve动画曲线的简单使用。
代码如下:
<span style="font-size:24px;">using UnityEngine;
using System.Collections;
public class aaa : MonoBehaviour {
public AnimationCurve BoardTimeAnimationCurve01;
private Vector3 startVector3;
public Transform NextTransform;
private float UserBoard01;
void Start () {
}
// Update is called once per frame
void Update () {
float a = Vector3.Distance(NextTransform.position, this.transform.position);
if (a > 0.05f)
{
UserBoard01 += Time.deltaTime / 2f;
//0.5秒内到达AnimationCurve曲线Y轴最大值1(x轴 y轴最大值我设置的都是1)
this.transform.position = Vector3.Lerp(startVector3, NextTransform.position, BoardTimeAnimationCurve01.Evaluate(UserBoard01));
}
else
{
this.transform.position = NextTransform.position;
}
}
}</span>

移动常用方法
Vector3.Lerp(this.transform.position,Vector3.zero,1);
Vector3.MoveTowards(this.transform.position, Vector3.zero,2);
Vector3.Lerp(this.transform.position, Vector3.zero, AnimationCurve.Evaluate(2));
更多推荐




所有评论(0)