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

xiaoxiao2021-02-28  87

LoL中大家应该都玩过剑圣,其实很多技能以及动作都是根据动画截取出来的,今天我们就通过动画来实现剑圣的一些动作。 首先我们在场景中拖入模型,点击一下名字,右边Inspector面板会出来几个几个选项,我们首先点击select选项 然后点击Animations这里就是截取动画 下面的Run First就是博主的跑的技能还有第一个技能的意思。其他类似 +-号就是添加新的动画 这里是操作,例如你选的跑的过程是0到20帧,那么在观看动画的时候就从头看,发现这是一个动作的时候End就改成20,然后Apply以下就好。注意因为跑是一个连续的动作,所以Warp Mode里我们要改成Loop选项 然后我们点击Animations旁边的的Rig 选项,Type 改成Legacy,然后Apply,如果在运行状态下没有动作,很有可能是这里的Type不是Legacy。 然后我们要在Inspector面板添加组件Animation,图中Stay所对应的Animation代表默认状态时Stay的状态,下面的Size 代表你要添加的动画有几个 然后我点击下运行,看看默认的状态是不是stay; 一顿一顿是博主动画没有截取好的原因,下一个动作被我截取了一点 然后我们通过代码来实现动画的实现 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); //先运行其他的,在运行自己; } }

转载请注明原文地址: https://www.6miu.com/read-64055.html

最新回复(0)