做好了基础移动和视角控制后为其添加行走动画。
创建一个动画蓝图
UE4-蓝图-角色的移动,视角控制(二)添加移动中的动画
父类选择Animlnstance,目标骨骼就是你的骨骼网络体所绑定的骨骼,这里一定不能错。
UE4-蓝图-角色的移动,视角控制(二)添加移动中的动画
然后在人物(Character)蓝图中绑定创建的动画蓝图
UE4-蓝图-角色的移动,视角控制(二)添加移动中的动画
然后创建混合空间,选择刚刚动画蓝图所选择的骨骼,一定要一致。
这里说下混合空间和混合空间1D的区别,1D的话比较单调,我们的移动可能只用一个动作来进行前后左右的移动,因为他只有一个轴。混合空间的话可以设置两个轴,我们可以设置多方向的不同的动画动作(动画资源足够多的情况下使用混合空间),让移动看起来更柔和逼真。
UE4-蓝图-角色的移动,视角控制(二)添加移动中的动画
对其BlendSpace设置这个就得理解透UE4中的坐标体系了,
水平坐标和垂直坐标的设置对应着添加动画的时候的坐标点。如下
UE4-蓝图-角色的移动,视角控制(二)添加移动中的动画

UE4-蓝图-角色的移动,视角控制(二)添加移动中的动画
Speed对应速度,Drection就是方向。在不同的动作不同的速度下有着不一样的动作,BlendSpace会帮我们把动作与动作之间进行缝合,比如站立状态到走路状态,然后再到跑状态,我们只需要在对应的点添加上站立动画,走路动画,Run动画即可。这里的设置相对有些复杂。

BlendSpace设置好后就进入蓝图
UE4-蓝图-角色的移动,视角控制(二)添加移动中的动画
可以到一个动画输出最终结果,我们添加新的状态机,这个状态机进行设置站立,走,跑的状态。做蹲,跳的时候再添加新的状态机来进行切换,切换的时候进行一切判断就能达到合理有逻辑的切换。
UE4-蓝图-角色的移动,视角控制(二)添加移动中的动画

添加新的状态机,打开状态机
UE4-蓝图-角色的移动,视角控制(二)添加移动中的动画
Entry连接出来添加状态,然后双击新添加的状态(状态与状态机不同)
这个时候你能看到资产浏览器里面你设置得BlendSpace,把他拖入到状态里面
拖出引脚,创建两个变量。下面就是通过蓝图逻辑去获取角色的这两个变量,速度以及方向
UE4-蓝图-角色的移动,视角控制(二)添加移动中的动画
UE4-蓝图-角色的移动,视角控制(二)添加移动中的动画

做完后进入事件图表,进行我们Speed和Drection变量的获取。

动画蓝图初始化,类型转换获取我们场景中的角色,然后提取出为一个变量。

UE4-蓝图-角色的移动,视角控制(二)添加移动中的动画

UE4-蓝图-角色的移动,视角控制(二)添加移动中的动画
事件蓝图更新动画:每帧都会检测动画有没有需要发生变化。
Try Get Pawn Owner :动画蓝图中不能使用get player controller蓝图节点,功能两者差不多。都是获取玩家控制。
is Valid 是检测报错的,看我们的蓝图节点是否有效是否报错。
get Velocity获取速度,这里得到的是一个向量,我们需要的是一个浮点数,所以我们再获取到向量的长度就等于其速度了,去setSpeed,动态更新Speed。
Calculate Direction 可以去获取角度,前提是我们需要获取到获取对象的速率还有旋转值。
这样Speed和Direction都能动态的获取到了。编译保存运行,场景中的人物就有了移动时候的动画了。
走和跑的切换就是去设置你人物的最大行走速度和跑的速度,然后通过时间轴和操作映射来去控制你的速度,最后行走和奔跑来回切换。更新中。

相关文章: