1 - 必要设置
在开始将动态动画应用到角色之前,我们需要先设置要使用的角色。 模板角色没有任何可供我们使用的动态骨骼,因此我们将把动画从模板角色重定位到一个《无尽之剑》(Infinity Blade)的角色,该角色具有我们可以通过 AnimDynamics 影响的骨骼。
对于本指南,我们使用 Blueprint Third Person 模板创建了新项目。
然后我们将 Infinity Blade:Adversaries 包添加到项目,该包可以在市场上免费下载。
步骤
打开基于 Blueprint Third Person 的模板项目并添加 Infinity Blade 资产后:
在 内容浏览器 中的 Content/Mannequin/Character/Mesh 下,打开 UE4_Mannequin_Skeleton 资产。
单击 重定位管理器(Retarget Manager)按钮,然后在 选择结构(Select Rig)下指定 Humanoid 结构。
在 内容浏览器 中,导航到 Infinity Blade Adversaries 文件夹中,打开 SK_Master_Grunt_Skeleton。
单击 重定位管理器(Retarget Manager)按钮,然后在 选择结构(Select Rig)选项下选择 Humanoid。
为结构上的每个节点分配骨架中的一个骨骼。
下表显示了完整的分配方案。
节点(结构) 骨骼(骨架) Root b_MF_Root Pelvis b_MF_Pelvis spine_01 b_MF_Spine_01 spine_02 b_MF_Spine_02 spine_03 b_MF_Spine_03 clavicle_l b_MF_Clavicle_L upperarm_l b_MF_UpperArm_L lowerarm_l b_MF_Forearm_L hand_l b_MF_Hand_L clavicle_r b_MF_Clavicle_R upperarm_r b_MF_UpperArm_R lowerarm_r b_MF_Forearm_R hand_r b_MF_Hand_R neck_01 b_MF_Neck head b_MF_Head thigh_l b_MF_Thigh_L calf_l b_MF_Calf_L foot_l b_MF_Foot_L thigh_r b_MF_Thigh_R calf_r b_MF_Calf_R foot_r b_MF_Foot_R 在继续重定位前,我们将调整平移重定位,以确保动画正确播放。
在 骨架树(Skeleton Tree)中,单击 显示高级选项(Show Advanced Options)按钮。
右键单击 b_MF_Root 骨骼并选择 递归地设置平移重定位骨架(Recursively Set Translation Retargeting Skeleton)。
在 平移重定位(Translation Retargeting)下,将 b_MF_Root 设置为 动画(Animation),将 b_MF_Pelvis 设置为 比例动画(Animation Scaled)。
我们的骨架已经设置完毕,现在可以从模板角色重定位动画蓝图和动画了。
导航至 ThirdPersonAnimBP,右键单击 它,并选择 复制动画蓝图并重定位(Duplicate Anim Blueprints and Retarget)。
在 选择骨架(Select Skeleton)窗口中,选择 SK_Master_Grunt_Skeleton 资产,然后选择 重定位(Retarget)。
如果您愿意,可以单击 更改...(Change...)按钮来指定要将重定位的资产复制到什么位置。
导航到复制的资产,将新的动画蓝图重命名为 GruntAnimBP。
导航至 ThirdPersonCharacter 蓝图并打开。
在 组件(Components)窗口中单击 网格(Mesh),然后在 细节(Details)面板中指定 SK_Master_Grunt 和 GruntAnimBP_C。
编译(Compile)并 保存(Save),然后关闭蓝图。
最终结果
此时如果您在编辑器中运行,应该可以控制这个大兵角色,用 WASD 和 空格 键使他奔跑和跳跃。
请注意,背带和角色脖子上的炉子的运动都很有限。它们显得相对静止,如果这些对象能随着角色的运动而移动,我们的角色看起来会更自然。
在下一步我们将使用 AnimDynamics 节点使背带和炉子动起来,使它们对角色运动作出反应。