Unity功能点---动画控制CrossFade方法的使用和简单说明
温故而知新。记录一下CrossFade的方法使用,主要用作跳转到指定动画的一个方法先添加一个动画控制器,把需要的动画添加进去,不需要添加任何逻辑关系:官方一个案例附带的动画,下面是控制代码:using UnityEngine;public class Test : MonoBehaviour{public AnimationClip[] clips;...
·
温故而知新。
记录一下CrossFade的方法使用,主要用作跳转到指定动画的一个方法
先添加一个动画控制器,把需要的动画添加进去,不需要添加任何逻辑关系:
官方一个案例附带的动画,下面是控制代码:
using UnityEngine;
public class Test : MonoBehaviour
{
public AnimationClip[] clips;
public Animator anim;
public int Index;
private void Update()
{
AnimationChange();
}
public void AnimationChange()
{
if (Input.GetKeyDown(KeyCode.UpArrow))
{
if (Index > 0)
{
Index -= 1;
}
else
{
Index = clips.Length - 1;
}
Debug.Log(string.Format("CurrentClip:{0}", clips[Index].name));
}
if (Input.GetKeyDown(KeyCode.DownArrow))
{
if (Index < clips.Length - 1)
{
Index += 1;
}
else
{
Index = 0;
}
Debug.Log(string.Format("CurrentClip:{0}", clips[Index].name));
}
if (Input.GetKeyDown(KeyCode.Space))
{
ResetState();
anim.CrossFade(clips[Index].name, 0, 0, 0);
}
}
protected void ResetState()
{
transform.position = Vector3.zero;
transform.rotation = Quaternion.identity;
}
}
我把脚本挂在人物上,把动画控制器和对应的动画手动赋值,运行效果如下:
可以看到用这个方法可以达到直接跳转到指定动画,我这里设置的参数是跳转动画从头开始播放,具体大家可以尝试一下。
欢迎加群:4364930讨论。
更多推荐
已为社区贡献1条内容
所有评论(0)