IK Rig 可用于创建能在不同 骨骼网格体 之间重定向的动画。与虚幻引擎的传统动画重定向的不同在于,你可以在骨骼之间准确重定向动画,而这些骨骼可能匹配,也可能不匹配,同时还能简化工作流程。
所谓动画重定向,就是在多个不同骨架之间共享动画数据,并且无需在虚幻引擎之外创建和管理新动画。
本文介绍了基于IK Rig和 IK重定向器(IK Retargeter) 的IK Rig重定向流程。
先决条件
你熟悉创建和使用IK Rig资产。请参阅IK Rig编辑器页面了解如何执行此操作。
你的项目有两个不同的骨骼网格体来评估重定向过程。
源和目标设置
IK Rig重定向需要你分别指定 源 和 目标 骨骼网格体,而它们分别由其 IK Rig资产(IK Rig Asset) 定义。确保你为每个角色创建了IK Rig。
重定向根骨骼
在两个IK Rig资产中,必须为每个角色定义根骨骼,通常是骨盆或臀部骨骼。这样做是为了以成比例的方式定义和传输角色的根骨骼运动。
在 层级(Hierarchy) 面板中,右键单击骨骼并选择 设置重定向根骨骼(Set Retarget Root)。在两个IK Rig资产中执行此操作。
这是指 层级(Hierarchy) 面板和 IK重定向(IK Retargeting) 面板中的重定向根骨骼(Retarget Root)。
重定向链
此外,还必须在源和目标IK Rig上定义要在重定向过程中传输的肢体和其他附件。这个过程类似于在其他应用程序(如Autodesk MotionBuilder或Maya)中"表征"绑定。主要区别在于是通过 关节链 而不是单个骨骼来定义它。这为重定向具有截然不同的骨骼结构的角色提供了灵活性。
例如,如果目标角色包含比源更多的手臂关节,因为你会定义整个手臂链,所以重定向行为仍将正常运行。
源手臂链。
目标手臂链。
要创建链,请单击 IK重定向(IK Retargeting) 面板中的 添加(+)新链(Add (+) New Chain),这将创建一个空链。
链需要设置以下参数:
名称 |
描述 |
---|---|
链名称(Chain Name) |
链的名称。它可以是任意名称,但应与其他IK Rig中的预期重定向链匹配。 匹配链名称过程由模糊(Fuzzy)字符串匹配确定。因此,尽管每个IK Rig中的 链名称(Chain Names) 不必完全匹配,仍应尽力匹配它们。例如,只要没有更准确的名称,链名称 |
起始骨骼(Start Bone) |
重定向链的起始骨骼。如果要重定向手臂,通常会在此处选择上臂骨骼。 |
末端骨骼(End Bone) |
重定向链的末端骨骼。如果要重定向手臂,通常会在此处选择手骨骼。 |
IK目标(IK Goal) |
你可以在此选择IK目标来稳定肢体或链,以免无法以良好的准确度重定向。这意味着,你还需要为这些目标创建解算器,解算器将在重定向过程之后执行其解算。 |
必须为要重定向的所有主要肢体创建链,手指等次要肢体是可选的。在此示例中,将在两个IK Rig中创建以下链:
脊柱
左臂
右臂
脖子
头
左腿
右腿
通过选择意向链中的每个 骨骼,在 层级(Hierarchy) 面板中右键单击,然后选择 从所选骨骼新建重定向链(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资产。
预览重定向
IK重定向器(IK Retargeter)打开后,源骨骼网格体将在视口中可见,并在 源IKRig资产(Source IKRig Asset) 属性中表示。通过在 目标IKRig资产(Target IKRig Asset) 属性中指定目标IK Rig,可以添加目标网格体。两个角色现在都会显示,源角色会影响目标。
你可以从 资产浏览器(Asset Browser) 面板中选择不同的动画来预览不同资产的重定向效果。
链映射(Chain Mapping) 面板显示源链和目标链,以及它们的映射关系。使用 源链(Source Chain) 下的下拉菜单,可以指定不同的链映射或纠正不匹配。
姿势编辑
根据被重定向的角色的参考姿势,可能需要以基本 重定向姿势(Retarget Pose) 的形式编辑姿势。通常,如果目标角色的参考姿势与源不同,例如处于T姿势而不是A姿势,就需要执行此操作。匹配这些重定向姿势将提高重定向的准确性。
源角色的参考姿势是A姿势。
目标角色的参考姿势是T姿势。
通过从以下工具栏控件编辑或创建不同的重定向姿势,可以解决参考姿势差异。
名称 |
描述 |
---|---|
当前重定向姿势(Current Retarget Pose) |
显示用于目标角色的当前重定向姿势的列表。默认情况下,只会列出默认姿势,但如果你通过单击 新姿势(New Pose) 创建新姿势,也会将其包含在内。
|
编辑姿势(Edit Pose) |
编辑当前重定向姿势,这样,骨骼可以在视口中进行操作。启用此模式可将目标角色的姿势修改为紧密匹配源的姿势。
只有重定向链中定义的骨骼是可见和可选择的。 |
新姿势(New Pose) |
创建一个新的重定向姿势,它可以从 当前重定向姿势(Current Retarget Pose) 下拉菜单中选择。单击此控件将出现一个对话框窗口,你可以在这里命名新姿势。
如果要通过更改 目标IKRig资产(Target IKRig Asset) 属性来使用不同的目标角色,那么拥有多个重定向姿势很有用。此外,根据重定向姿势,某些动画可比其他动画能够更准确地重定向。因此,有必要为特定的动画创建独特的重定向姿势。 |
删除姿势(Delete Pose) |
删除 当前目标姿势(Current Retarget Pose)。 |
重置姿势(Reset Pose) |
单击此控件会重置你对姿势所做的任何更改,并将角色返回到其基本参考姿势。 |
使用IK目标进行重定向
对于具有较大尺寸和骨骼差异的角色,简单的骨骼链重定向可能会在骨骼上产生意外的运动。例如,这些目标腿可能会表现出额外的运动,从而导致意外的剪裁。
目标IK Rig的IK目标和解算器可用于稳定这些肢体并减少这种问题。这是通过以下方法实现的:为这些问题关节创建类似的IK目标和解算器并在 IK重定向(IK Retargeting) 面板中将目标分配给它们各自的链。
例如,在目标IK Rig上创建一个全身IK解算器。此解算器链接到脚上的IK目标,用于为两条腿提供IK。
然后将这些目标分配到IK目标(IK Goal)列下各自的重定向链。这样,解算器的执行将在重定向过程之后使用这些目标进行。
现在,在IK重定向器(IK Retargeter)中预览重定向结果时,稳定性得到了改善。通过在细节(Details)面板中启用或禁用 重定向IK(Retarget IK) 也可以预览此IK步骤的差异。
导出重定向结果
对目标角色的重定向结果感到满意后,可以将动画导出到兼容的动画序列,以用于该角色的骨骼。为此,请在 资产浏览器(Asset Browser) 面板中选择要导出的动画,然后单击 导出选定动画(Export Selected Animations)。
在对话框窗口中指定导出路径,然后单击 确定(OK) 导出动画。现在,重定向的动画以 _Retargeted
为后缀,在输出文件夹中为可用状态。
IK重定向编辑器设置
IK重定向编辑器(IK Retargeting Editor)细节(Details) 面板包含以下属性:
名称 |
描述 |
---|---|
源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) |
目标角色与源角色的横向距离。对于较大的角色,可能需要增大此值。
|
目标Actor缩放(Target Actor Scale) |
预览缩放修改器,可用于增大或减小目标角色的缩放。如果目标相对于源非常小或非常大,这很有用,更改此值可以更方便地协调它们的大小。
|
骨骼绘制大小(Bone Draw Size) |
启用编辑姿势(Edit Pose)时控制目标角色骨骼的视觉大小。 |