1 - 必要设置

在开始将动态动画应用到角色之前,我们需要先设置要使用的角色。 模板角色没有任何可供我们使用的动态骨骼,因此我们将把动画从模板角色重定位到一个《无尽之剑》(Infinity Blade)的角色,该角色具有我们可以通过 AnimDynamics 影响的骨骼。

对于本指南,我们使用 Blueprint Third Person 模板创建了新项目。

然后我们将 Infinity Blade:Adversaries 包添加到项目,该包可以在市场上免费下载。 AdversariesPack.png

步骤

打开基于 Blueprint Third Person 的模板项目并添加 Infinity Blade 资产后:

  1. 内容浏览器 中的 Content/Mannequin/Character/Mesh 下,打开 UE4_Mannequin_Skeleton 资产。

    1_OpenMesh.png

  2. 单击 重定位管理器(Retarget Manager)按钮,然后在 选择结构(Select Rig)下指定 Humanoid 结构。

    2_SetRig.png

    我们要将此角色的动画蓝图和动画 重定位 到一个 Infinity Blade 角色。

  3. 内容浏览器 中,导航到 Infinity Blade Adversaries 文件夹中,打开 SK_Master_Grunt_Skeleton

    3_OpenGrunt.png

  4. 单击 重定位管理器(Retarget Manager)按钮,然后在 选择结构(Select Rig)选项下选择 Humanoid

  5. 为结构上的每个节点分配骨架中的一个骨骼。

    4_AssignBones.png

    下表显示了完整的分配方案。

    节点(结构) 骨骼(骨架)
    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

    在继续重定位前,我们将调整平移重定位,以确保动画正确播放。

  6. 骨架树(Skeleton Tree)中,单击 显示高级选项(Show Advanced Options)按钮。

  7. 右键单击 b_MF_Root 骨骼并选择 递归地设置平移重定位骨架(Recursively Set Translation Retargeting Skeleton)

    5_TranslationRetargetingA.png

  8. 平移重定位(Translation Retargeting)下,将 b_MF_Root 设置为 动画(Animation),将 b_MF_Pelvis 设置为 比例动画(Animation Scaled)

    5_TranslationRetargetingB.png

    我们的骨架已经设置完毕,现在可以从模板角色重定位动画蓝图和动画了。

  9. 导航至 ThirdPersonAnimBP右键单击 它,并选择 复制动画蓝图并重定位(Duplicate Anim Blueprints and Retarget)

    6_RetargetAnimBP.png

  10. 选择骨架(Select Skeleton)窗口中,选择 SK_Master_Grunt_Skeleton 资产,然后选择 重定位(Retarget)

    7_SetTarget.png

    如果您愿意,可以单击 更改...(Change...)按钮来指定要将重定位的资产复制到什么位置。

  11. 导航到复制的资产,将新的动画蓝图重命名为 GruntAnimBP

    8_RenameAnimBP.png

  12. 导航至 ThirdPersonCharacter 蓝图并打开。

    9_OpenThirdBP.png

  13. 组件(Components)窗口中单击 网格(Mesh),然后在 细节(Details)面板中指定 SK_Master_GruntGruntAnimBP_C

    10_AssignNewCharacter.png

  14. 编译(Compile)保存(Save),然后关闭蓝图

最终结果

此时如果您在编辑器中运行,应该可以控制这个大兵角色,用 WASD空格 键使他奔跑和跳跃。

请注意,背带和角色脖子上的炉子的运动都很有限。它们显得相对静止,如果这些对象能随着角色的运动而移动,我们的角色看起来会更自然。

在下一步我们将使用 AnimDynamics 节点使背带和炉子动起来,使它们对角色运动作出反应。