如果希望完成八方向的人物移动,那么你首先的准备至少九个动画,就以我使用的DynamicSwordAnimset中的动画举例吧!
我一共用了10个动画,因为多出一个跑步的动画,但这个动画却不是必要的。
Idle_Eqip_02 站立动画
Walk_Eqip_Front 步行前进动画
Run_Eqip 跑步前行动画
Walk_Eqip_Back 步行后退动画
Walk_Eqip_Left 步行向左动画
Walk_Eqip_Right 步行向右动画
Walk_Eqip_Front_Left 步行向前左动画
Walk_Eqip_Front_Right 步行向前右动画
Walk_Eqip_Back_Left 步行向后左动画
Walk_Eqip_Back_Right 步行向后右动画
混合空间
如果你前面做过非八方向的移动动画,那么可能是使用的BlendSpace1D,主要通过 speed来控制动画的变化,而这里我们要做的八方向的移动,则需要speed和direction的配合,使用BlendSpace2D。
点击【鼠标右键->动画->混合空间】。
打开混合空间后,修改横纵轴名字和上下限。
拖动动画,完成以下配置。
从上可以看出,Direction方向计算上90为右,-90为左,0为前,180或-180为后。
然后在动画蓝图中,新建speed和direction两个float变量,并进行计算。
之后在状态机中,将两个float变量传进我们建立的混合空间即可。
如果还没看懂,可以参考
【新手向】虚幻4ARPG教程-重置版-第七集-使用弓箭时八方向移动状态