使用重定向动画

动画重定向 是重新利用现有动画以供多个 Character 使用的过程,从而使您无需创建全新动画,因为您可以改为在不同 Character 之间共享动画资源。

动画重定向有两种形式,一种是要与其共享动画的 Character 将和最初创建该动画的 Character 使用 相同骨架。另一种形式包含称为 Rig 的中介对象,该对象可让您从一个 Character 的骨架重定向动画,然后将该骨架的骨骼信息传递给使用两个骨架共用的 Rig 的 不同骨架

有关您要实现的动画重定向的类型,请参阅以下两个链接:

本页面的内容:

使用相同骨架重定向

本部分将介绍如何设置 骨架,以将重定向动画用于所有使用该骨架的两足 Character。

1.在 内容浏览器 内,打开用于每个 Character 的 骨架 资源。

  1. Persona骨架树 中,选中 Show Retargeting Options 复选框。

    HowTo1.png

  2. 骨架树右键单击 您的 骨骼,然后选择 Recursively Set Translation Retargeting Skeleton

    HowTo2.png

    此操作将确保所有骨骼均使用骨架的静态转换(我们将修改某些骨骼,以便立即重定向)。

  3. 找到 Pelvis 骨骼(或其对应的骨骼),然后单击下拉框并选择 AnimationScaled

    HowTo3.png

    此操作将确保 Pelvis 骨骼位于合适的高度,并仍处于动画状态。要转换成动画和重定向的任何其他骨骼也应使用此设置。

  4. 找到您正在使用的 骨骼、任何 IK 骨骼、任何 武器 骨骼或其他标记型骨骼,然后将其设置为 动画

    HowTo4.png

    通过将 动画 用作“骨骼转换重定向模式”,骨骼的转换将源于动画数据本身,并且没有任何更改。

    上图是设置为使用不同 转换重定向 方法的 骨架树 的示例。使用的方法各有不同,您可能必须针对不同骨骼试验不同方法,以产生所需的结果。

  5. 单击当前网格体旁的 网格 按钮,以调出网格体选择框,然后选择一个不同的网格体(不同的 Character)。

    HowTo5.png

    在不同的 骨骼网格体 上试验不同的动画,以确保您的骨架已针对各个动画设置正确。

  6. 在视窗内单击 Show,然后选中 NonRetarget AnimationBones,以显示普通骨架和重定向骨架。

    HowTo6.png

    现在,您应可以在骨架上看到如下所示的画面。

BaseCharacterRunningRetargetedBones.png ShortStockyRunningRetargetedBones.png TallSkinnyRunningRetargetedBones.png
基本角色 矮壮角色 高瘦角色

上图中显示为米黄色的部分是原始骨架,同时当前重定向的骨架显示为白色。当重定向应用于 Character 后,将在对等处理过程中剔除不同 Character 的比例差异,所应用的动画即可在各个 Character 上正常播放,并会在矮胖和高瘦的 Character 的相同位置描画出原始骨骼(米黄色骨骼)。

上述步骤旨在让您快速入门,学习如何为共享相同骨架资源的 Character 重定向动画。有关其他更详细的信息,请参阅动画重定位(相同骨架) 文档。

使用不同骨架重定向

为了开始在不同骨架之间重定位动画,您需要为两副骨架选择用于共享的结构资产。本节将向您介绍如何访问引擎内容中附带的 人形结构,并指定它以供使用。

我们还要使用两个可通过 市场 免费获取的资产包,它们包含我们可用于重定位的多种骨架和动画。如果您已经准备好了两个骨架资产供使用,可以跳过下面的说明,使用您的资产。如果您没有准备骨架,可以按照下面说明中概述的步骤操作,添加两个包。

在这个示例中,我们使用可通过 市场 下载的下列资产。

安装以上两个包之后,您可以在虚幻启动程序中通过 添加到项目(Add to project)按钮将它们添加到项目。

images/AnimationStarterpack2.jpg

动画初学者包含有多种动画,我们将把它们重定位到 Mixamo 角色包中的角色。

您的虚幻引擎 4 版本可能与上图中的版本不同。

下面的步骤将说明如何访问默认结构并重定位动画:

  1. 内容浏览器 中的 Game/AnimStarterPack/UE4_Mannequin/Mesh 文件夹下,打开 UE4_Mannequin_Skeleton 资产。

  2. 单击 重定位管理器(Retarget Manager)按钮,然后在 设置结构(Set up Rig)下,单击 选择结构(Select Rig)下拉菜单,选择 选择人形结构(Select Humanoid Rig)

    单击查看大图。

  3. 单击 保存(Save),然后关闭窗口。

  4. 内容浏览器 中的 Game/MixamoAnimPack/Mixamo_SWAT/Anims 文件夹下,打开 SWAT_Skeleton 资产。

  5. 单击 重定位管理器(Retarget Manager)按钮,然后在 设置结构(Set up Rig)下,单击 选择结构(Select Rig)下拉菜单,选择 选择人形结构(Select Humanoid Rig)

    单击查看大图。

  6. 指定结构后,下一步需要使目标的骨骼与结构上的节点配对。

    Retarget7.png

  7. 使用下拉菜单在骨架上选择与结构上的骨骼(节点)位置相似的骨骼。

    单击查看大图。

    在上图中,左边是我们的源骨架(启用了 显示骨骼名称(Show Bone Names)),右边是目标骨架(也启用了“显示骨骼名称”(Show Bone Names))。中间是 设置结构(Set up Rig)窗口,我们在其中设置目标骨架的那些骨骼与源骨架上的骨骼相同(或位置相似)。

    虽然每副骨架的命名约定可能不同,但您可以看到每块骨骼在每副骨架上的位置,从而相应地将它们配对。您不需要指定所有骨骼,而且根据您的需求可能需要进行一些微调。

  8. 继续将目标骨架中的每块骨骼指定到结构上的相应节点。

    下表演示了 UE4_Mannequin_SkeletonSWAT_Skeleton 的设置

    节点(结构) 骨骼(骨架)
    Root None
    Pelvis Hips
    spine_01 Spine
    spine_02 Spine1
    spine_03 Spine2
    clavicle_l LeftShoulder
    upperarm_l LeftArm
    lowerarm_l LeftForeArm
    hand_l LeftHand
    clavicle_r RightShoulder
    upperarm_r RightArm
    lowerarm_r RightForeArm
    hand_r RightHand
    neck_01 Neck1
    head head
    thigh_l LeftUpLeg
    calf_l LeftLeg
    foot_l LeftFoot
    thigh_r RightUpLeg
    calf_r RightLeg
    foot_r RightFoot

    在设置结构时可以使用两种配置:基本高级。基本配置(上表所示)使用确保动画成功重定位所需的关键元素。高级配置允许您包括并指定更多应该在重定位过程中包括的骨骼。

    在上面的示例中,左手和右手都包括在了重定位过程中,但没有包括各个手指。使用基本配置重定位动画可确保将基本动作复制到新骨架,但如果源骨架有活动的手指而目标骨架没有,那么重定位后的动画就不会显示活动的手指,手部就会显得很僵硬。

  9. 单击 显示高级(Show Advanced)按钮切换 高级 配置。

    RetargetAdd4.png

  10. 将目标骨架中的骨骼指定到高级配置下结构上的节点。

    节点(结构) 骨骼(骨架)
    index_01_l LeftHandIndex1
    index_02_l LeftHandIndex2
    index_03_l LeftHandIndex3
    middle_01_l LeftHandMiddle1
    middle_02_l LeftHandMiddle2
    middle_03_l LeftHandMiddle3
    pinky_01_l LeftHandPinky1
    pinky_02_l LeftHandPinky2
    pinky_03_l LeftHandPinky3
    ring_01_l LeftHandRing1
    ring_02_l LeftHandRing2
    ring_03_l LeftHandRing3
    thumb_01_l LeftHandThumb1
    thumb_02_l LeftHandThumb2
    thumb_03_l LeftHandThumb3
    lowerarm_twist_01_l LeftHand
    upperarm_twist_01_l LeftArm
    index_01_r RightHandIndex1
    index_02_r RightHandIndex2
    index_03_r RightHandIndex3
    middle_01_r RightHandMiddle1
    middle_02_r RightHandMiddle2
    middle_03_r RightHandMiddle3
    pinky_01_r RightHandPinky1
    pinky_02_r RightHandPinky2
    pinky_03_r RightHandPinky3
    ring_01_r RightHandRing1
    ring_02_r RightHandRing2
    ring_03_r RightHandRing3
    thumb_01_r RightHandThumb1
    thumb_02_r RightHandThumb2
    thumb_03_r RightHandThumb3
    lowerarm_twist_01_r RightHand
    upperarm_twist_01_r RightArm
    calf_twist_01_l None
    ball_l LeftToeBase
    thigh_twist_01_l LeftUpLeg
    calf_twist_01_r None
    ball_r RightToeBase
    thigh_twist_01_r RightUpLeg

    有时一副骨架中可能有另一副骨架所不包含的附加骨骼;您可以忽略这些骨骼,因为可以对目标骨架进行调整来解决这个问题。

    在此示例中,您也可以将 IK 骨骼指定到 Mixamo 角色上的 None,因为 IK 重定位功能尚在开发中。

  11. 内容浏览器 中的 Game/AnimStarterPack 下,选择一个要重定位到新骨架的动画。

  12. 右键单击 该动画,然后选择 重定位动画资产(Retarget Anim Assets) -> 复制动画资产并重定位(Duplicate Anim Assets and Retarget)

    images/RT_DuplicateAnim.jpg

  13. 选择骨架(Select Skeleton)窗口中,您应该会在窗口上部看到您的骨架,选择它并单击 选择(Select)

    images/Retarget11_2.jpg

  14. 系统将在目标骨架所在的文件夹中创建您选择重定位的动画的副本。

    Retarget12.png

    现在可以将此新动画用于您的角色。

上述步骤说明了如何在两个不同骨架之间重定向动画,但是,您还可采取其他措施来改善重定向动画的质量。有关详细信息,请参阅 动画重定位(不同骨架) 文档。