Unity3d 中Legacy动画系统-剑圣的动画

LoL中大家应该都玩过剑圣,其实很多技能以及动作都是根据动画截取出来的,今天我们就通过动画来实现剑圣的一些动作。
首先我们在场景中拖入模型,点击一下名字,右边Inspector面板会出来几个几个选项,我们首先点击select选项
Unity3d 中Legacy动画系统-剑圣的动画
然后点击Animations这里就是截取动画
下面的Run First就是博主的跑的技能还有第一个技能的意思。其他类似 +-号就是添加新的动画
Unity3d 中Legacy动画系统-剑圣的动画
这里是操作,例如你选的跑的过程是0到20帧,那么在观看动画的时候就从头看,发现这是一个动作的时候End就改成20,然后Apply以下就好。注意因为跑是一个连续的动作,所以Warp Mode里我们要改成Loop选项
Unity3d 中Legacy动画系统-剑圣的动画
然后我们点击Animations旁边的的Rig 选项,Type 改成Legacy,然后Apply,如果在运行状态下没有动作,很有可能是这里的Type不是Legacy。
Unity3d 中Legacy动画系统-剑圣的动画
然后我们要在Inspector面板添加组件Animation,图中Stay所对应的Animation代表默认状态时Stay的状态,下面的Size 代表你要添加的动画有几个
Unity3d 中Legacy动画系统-剑圣的动画
然后我点击下运行,看看默认的状态是不是stay;
一顿一顿是博主动画没有截取好的原因,下一个动作被我截取了一点
Unity3d 中Legacy动画系统-剑圣的动画
然后我们通过代码来实现动画的实现
privata Animation m_animation;
//首先声明一个变量
void Start()
{
m_animation=transform.GetComponent();
获取Animation组件
}
void Update()
{
if(Input.GetKey(KeyCode.W))
{
m_animation.CrossFade(“Run”);
}
if(Input.GetKeyUp(KeyCode.W))
{
m_animation.CrossFade(“Stay”);
}
If(Input.GetKeyDown(Key.Code.Alpha1)&&m_animation..IsPlaying(“First”)==false)
//如果按下1并且没有运行这个技能
{
m_animation.PlayQueud(“First”,QueueMode.PlayNow,Play.StopAll);
//先运行这个技能停止其他的 一切
}
if (Input.GetKeyUp(KeyCode.Alpha1))
{
m_animation.PlayQueued(“Stay”,QueueMode.CompleteOthers,PlayMode.StopSameLayer);
//先运行其他的,在运行自己;
}
}
Unity3d 中Legacy动画系统-剑圣的动画