本文为B站系列教学视频 《UE5_C++多人TPS完整教程》 —— 《P52 使用我们的瞄准偏移(Using Our Aim Offsets)》 的学习笔记,该系列教学视频为计算机工程师、程序员、游戏开发者、作家(Engineer, Programmer, Game Developer, Author) Stephen Ulibarri 发布在 Udemy 上的课程 《Unreal Engine 5 C++ Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译者)为 游戏引擎能吃么。
P52 使用我们的瞄准偏移(Using Our Aim Offsets)
本节课我们将在动画蓝图中进一步添加瞄准偏移,并保证在人物角色进行瞄准时正确地使用瞄准偏移。
52.1 使用瞄准偏移完善动画蓝图
打开虚幻引擎,在人物动画蓝图类 “
BlasterAnimBP
” 的 “AnimGraph
” 事件面板中新建状态机节点 “Aim Offsets
”,然后添加蓝图节点 “新保存的缓存姿势”,重命名为 “Aim Offsets
”,并与状态机节点 “Aim Offsets
” 进行连接。
双击状态机节点 “
Aim Offsets
” 进入编辑界面,在面板中从 “Entry
” 引出一条线,连接新的状态节点 “Aim Offsets
”。
双击状态节点 “
Aim Offsets
” 进入编辑界面,在面板中添加蓝图节点 “按布尔混合姿势” 和 “获取 Aiming”,并将 “AnimGraph
” 事件面板的部分蓝图节点剪切并粘贴到 “Aim Offsets
” 蓝图编辑面板中,绘制下图所示的蓝图。
在 “
AnimGraph
” 事件面板中 “使用缓存姿势"Aim Offsets"”,将其输出引脚连接到 “每个骨骼的分层混合” 的 “Blend Poses 0
” 输入引脚。
编译、保存后进行测试,人物角色的瞄准偏移动画均能正确进行播放。
52.2 Summary
本节课本节课我们进一步完善了动画蓝图中的瞄准偏移系统。首先,我们创建了专门用于处理瞄准偏移的状态机 “Aim Offsets
”,并通过 “保存缓存姿势” 节点将其输出保存为可复用的姿势资源。接下来,我们在该状态机内部新建状态节点,并在状态节点的蓝图中使用 “按布尔混合姿势” 节点,根据布尔变量 “bAiming
” 的值来混合 “HipAimOffset
” 和 AimAimOffset
” 这两种不同的瞄准偏移。随后,我们通过 “每个骨骼的分层混合” 节点,将处理好的瞄准偏移姿势与基础的装备姿势(“Equipped
” 缓存姿势)进行混合,确保瞄准动作只影响角色的上半身。最终我们人物角色能够在不同瞄准状态下都能正确播放对应的瞄准偏移动画。