目标
本篇的目标是从一个包含射击的动画序列中创建一个射击姿势,并让角色可以随时切换成“射击姿势”。我的工程上接《使用UE4动画混合空间实现侧向和后退移动》,不过理论上只要达成《学习UE4官方第三人称模板中的内容》中的工程就可以实现本篇的功能。
0. 资源准备
我从下面的资源包中得到想要的资源:
我先添加它到其他工程中,随后导出下面动画到fbx:
Aim_Space_Ironsights
然后导入到我的工程中。它包含了朝各个方向射击的动画:
1. 创建姿势资源
打开Aim_Space_Ironsights
这个动画序列,将当前帧设置到0
(此帧是指向正前方的姿势)。
点击创建姿势之后,从当前姿势 创建姿势资源。
命名为Aim_Center_Center
,其中有个名为Pose_0
的姿势,可预览:
2. 动画蓝图的 AnimGraph
增加一个Shooting
变量,表示角色是否处于射击状态:
然后,将之前的逻辑存在Posture_NoShooting
缓存中:
随后将创建的姿势拖进来
右键其转换为命名姿势
在细节面板中设置姿势名为Pose_0
,权重为1.0
最后,根据Shooting
变量决定是否要混合这个姿势,并且类似《使用UE4动画蒙太奇实现分层动画》中,只将这部分动画应用到上身骨骼:
3. 角色蓝图
先绑定Shooting操作到鼠标右键上
之后在角色蓝图中添加Shooting
变量:
它将由Shooting操作来决定:
4. 动画蓝图的 事件图表
获得角色蓝图的Shooting
并赋值给动画蓝图的Shooting
。