IK Rig重定向

使用IK Rig和IK重定向在任意大小的角色之间共享和传输动画。

Choose your operating system:

Windows

macOS

Linux

IK Rig 可用于创建能在不同 骨骼网格体 之间重定向的动画。与虚幻引擎的传统

[动画重定向](animating-characters-and-objects/SkeletalMeshAnimation/AnimHowTo/AnimationRetargeting)
的不同在于,你可以在骨骼之间准确重定向动画,而这些骨骼可能匹配,也可能不匹配,同时还能简化工作流程。

所谓动画重定向,就是在多个不同骨架之间共享动画数据,并且无需在虚幻引擎之外创建和管理新动画。

本文介绍了基于IK Rig和 IK重定向器(IK Retargeter) 的IK Rig重定向流程。

先决条件

  • 你熟悉创建和使用IK Rig资产。请参阅IK Rig编辑器页面了解如何执行此操作。

  • 你的项目有两个不同的骨骼网格体来评估重定向过程。

源和目标设置

IK Rig重定向需要你分别指定 目标 骨骼网格体,而它们分别由其 IK Rig资产(IK Rig Asset) 定义。确保你为每个角色创建了IK Rig。

ik retarget ik rig setup

重定向根骨骼

在两个IK Rig资产中,必须为每个角色定义根骨骼,通常是骨盆或臀部骨骼。这样做是为了以成比例的方式定义和传输角色的根骨骼运动。

层级(Hierarchy) 面板中,右键单击骨骼并选择 设置重定向根骨骼(Set Retarget Root)。在两个IK Rig资产中执行此操作。

set retarget root

这是指 层级(Hierarchy) 面板和 IK重定向(IK Retargeting) 面板中的重定向根骨骼(Retarget Root)。

ik rig retarget root

重定向链

此外,还必须在源和目标IK Rig上定义要在重定向过程中传输的肢体和其他附件。这个过程类似于在其他应用程序(如Autodesk MotionBuilder或Maya)中"表征"绑定。主要区别在于是通过 关节链 而不是单个骨骼来定义它。这为重定向具有截然不同的骨骼结构的角色提供了灵活性。

例如,如果目标角色包含比源更多的手臂关节,因为你会定义整个手臂链,所以重定向行为仍将正常运行。

retarget chain example

  1. 源手臂链。

  2. 目标手臂链。

要创建链,请单击 IK重定向(IK Retargeting) 面板中的 添加(+)新链(Add (+) New Chain),这将创建一个空链。

add new chain

链需要设置以下参数:

名称

描述

链名称(Chain Name)

链的名称。它可以是任意名称,但应与其他IK Rig中的预期重定向链匹配。

匹配链名称过程由模糊(Fuzzy)字符串匹配确定。因此,尽管每个IK Rig中的 链名称(Chain Names) 不必完全匹配,仍应尽力匹配它们。例如,只要没有更准确的名称,链名称 ArmLeft 可以匹配 left_arm

起始骨骼(Start Bone)

重定向链的起始骨骼。如果要重定向手臂,通常会在此处选择上臂骨骼。

末端骨骼(End Bone)

重定向链的末端骨骼。如果要重定向手臂,通常会在此处选择手骨骼。

IK目标(IK Goal)

你可以在此选择IK目标稳定肢体或链,以免无法以良好的准确度重定向。这意味着,你还需要为这些目标创建解算器,解算器将在重定向过程之后执行其解算。

必须为要重定向的所有主要肢体创建链,手指等次要肢体是可选的。在此示例中,将在两个IK Rig中创建以下链:

retarget chain example

  • 脊柱

  • 左臂

  • 右臂

  • 脖子

  • 左腿

  • 右腿

通过选择意向链中的每个 骨骼,在 层级(Hierarchy) 面板中右键单击,然后选择 从所选骨骼新建重定向链(New Retarget Chain from Selected Bones),也可以创建链。

new retarget chain from selected bones

IK重定向器

创建两个IK Rig并创建必要的骨骼链后,现在可以在 IK重定向器(IK Retargeter) 中开始重定向过程。IK重定向器(IK Retargeter)是一种资产和编辑器,它引用源和目标绑定,提供自定义重定向结果的功能。

要创建IK重定向器(IK Retargeter),请在内容浏览器(Content Browser)中单击 添加(+)(Add (+)),然后选择 动画(Animation)> IK重定向器(IK Retargeter)。将出现一个对话框窗口,你必须在其中指定源IK Rig资产。

create ik retargeter

预览重定向

IK重定向器(IK Retargeter)打开后,源骨骼网格体将在视口中可见,并在 源IKRig资产(Source IKRig Asset) 属性中表示。通过在 目标IKRig资产(Target IKRig Asset) 属性中指定目标IK Rig,可以添加目标网格体。两个角色现在都会显示,源角色会影响目标。

set target ikrig asset

你可以从 资产浏览器(Asset Browser) 面板中选择不同的动画来预览不同资产的重定向效果。

preview ik retargeting

链映射(Chain Mapping) 面板显示源链和目标链,以及它们的映射关系。使用 源链(Source Chain) 下的下拉菜单,可以指定不同的链映射或纠正不匹配。

retarget chain mapping

姿势编辑

根据被重定向的角色的参考姿势,可能需要以基本 重定向姿势(Retarget Pose) 的形式编辑姿势。通常,如果目标角色的参考姿势与源不同,例如处于T姿势而不是A姿势,就需要执行此操作。匹配这些重定向姿势将提高重定向的准确性。

a-pose t-pose reference pose differences

  1. 源角色的参考姿势是A姿势。

  2. 目标角色的参考姿势是T姿势。

通过从以下工具栏控件编辑或创建不同的重定向姿势,可以解决参考姿势差异。

reference pose tools

名称

描述

当前重定向姿势(Current Retarget Pose)

显示用于目标角色的当前重定向姿势的列表。默认情况下,只会列出默认姿势,但如果你通过单击 新姿势(New Pose) 创建新姿势,也会将其包含在内。

current retarget pose

编辑姿势(Edit Pose)

编辑当前重定向姿势,这样,骨骼可以在视口中进行操作。启用此模式可将目标角色的姿势修改为紧密匹配源的姿势。

edit pose

只有重定向链中定义的骨骼是可见和可选择的。

新姿势(New Pose)

创建一个新的重定向姿势,它可以从 当前重定向姿势(Current Retarget Pose) 下拉菜单中选择。单击此控件将出现一个对话框窗口,你可以在这里命名新姿势。

new pose

如果要通过更改 目标IKRig资产(Target IKRig Asset) 属性来使用不同的目标角色,那么拥有多个重定向姿势很有用。此外,根据重定向姿势,某些动画可比其他动画能够更准确地重定向。因此,有必要为特定的动画创建独特的重定向姿势。

删除姿势(Delete Pose)

删除 当前目标姿势(Current Retarget Pose)

重置姿势(Reset Pose)

单击此控件会重置你对姿势所做的任何更改,并将角色返回到其基本参考姿势。

使用IK目标进行重定向

对于具有较大尺寸和骨骼差异的角色,简单的骨骼链重定向可能会在骨骼上产生意外的运动。例如,这些目标腿可能会表现出额外的运动,从而导致意外的剪裁。

retarget problems

目标IK Rig的IK目标解算器可用于稳定这些肢体并减少这种问题。这是通过以下方法实现的:为这些问题关节创建类似的IK目标和解算器并在 IK重定向(IK Retargeting) 面板中将目标分配给它们各自的链。

例如,在目标IK Rig上创建一个全身IK解算器。此解算器链接到脚上的IK目标,用于为两条腿提供IK。

full body ik goal retarget

然后将这些目标分配到IK目标(IK Goal)列下各自的重定向链。这样,解算器的执行将在重定向过程之后使用这些目标进行。

ik goal retarget

现在,在IK重定向器(IK Retargeter)中预览重定向结果时,稳定性得到了改善。通过在细节(Details)面板中启用或禁用 重定向IK(Retarget IK) 也可以预览此IK步骤的差异。

ik goals retargeting improve

导出重定向结果

对目标角色的重定向结果感到满意后,可以将动画导出到兼容的动画序列,以用于该角色的骨骼。为此,请在 资产浏览器(Asset Browser) 面板中选择要导出的动画,然后单击 导出选定动画(Export Selected Animations)

retarget save animation

在对话框窗口中指定导出路径,然后单击 确定(OK) 导出动画。现在,重定向的动画以 _Retargeted 为后缀,在输出文件夹中为可用状态。

retarget save animation

IK重定向编辑器设置

IK重定向编辑器(IK Retargeting Editor)细节(Details) 面板包含以下属性:

ik retargeter settings

名称

描述

源IKRig资产(Source IKRig Asset)

要从中复制动画的源IK Rig。此值无法更改。

目标IKRig资产(Target IKRig Asset)

要将动画复制到的目标IK Rig。

目标预览网格体(Target Preview Mesh)

可以在此处指定骨骼网格体以预览备用网格体上的重定向行为。

重定向根骨骼(Retarget Root)

启用目标IK Rig中定义的根骨骼的平移运动。通常,除非要调试根重定向行为,否则不会禁用此功能。

重定向FK(Retarget FK)

启用所有骨骼链的重定向。通常,除非要调试骨骼链重定向行为,否则不会禁用此功能。

重定向IK(Retarget IK)

如果在重定向链中使用IK目标,则启用IK重定向通道。通常,除非要调试IK重定向行为,否则不会禁用此功能。

目标Actor偏移(Target Actor Offset)

目标角色与源角色的横向距离。对于较大的角色,可能需要增大此值。

target actor offset

目标Actor缩放(Target Actor Scale)

预览缩放修改器,可用于增大或减小目标角色的缩放。如果目标相对于源非常小或非常大,这很有用,更改此值可以更方便地协调它们的大小。

target actor scale

骨骼绘制大小(Bone Draw Size)

启用编辑姿势(Edit Pose)时控制目标角色骨骼的视觉大小。