HumanIK 解算器期望角色的节点以特定典型排列进行连接。例如,右肩是右肘的父节点,而右肘相应地是右腕的父节点。HumanIK 生物机械模型配备了有关这些节点的移动方法的知识;当解算器需要在运行时移动一个或多个节点以满足 IK 效果或源动画的要求时,会使用此内置知识来构建新的姿势。
为使 HumanIK 将此生物机械模型应用于角色,您需要使用此为您内置的映射创建默认 HumanIK 骨架(创建和定义 HumanIK 骨架),或将 HumanIK 可以识别的节点映射到角色现有骨架中的关节(为 HumanIK 定义现有骨架)。(请参见创建 HumanIK 骨架定义。)
如果映射现有骨架,则必须映射 HumanIK 所需的全部十五个节点。这样即可标识角色骨架的主要元素。如果未为这 15 个必需节点提供特征,则无法在运行时使用 HumanIK 控制角色。在 HumanIK 窗口中,只有在成功映射所有这些必需节点之后,才能保存或锁定角色。
强烈建议您同样尽可能多地将角色骨架中的其他骨骼映射到其他 HumanIK 可选节点。这样将提高 HumanIK 在运行时构建的姿势的质量和可信度。以下部分提供了一些有关如何确定应将哪些骨骼映射到哪些节点的指导。
HumanIK 解算器所需的 15 个节点会显示在“角色”(Character)视图的全身布局中,并一同分组在“名称匹配”(Name Match)视图的“必需”(Required)组中。
这些必需节点可标识角色骨架中的主要关节:踝关节、膝关节、髋关节、脊椎底部关节、肩关节、肘关节、腕关节和头部关节。找出骨架中哪个骨骼将映射到这些节点通常很简单:
节点 | 映射到 |
---|---|
髋部 | 是角色的脊椎和腿部链的父对象的骨骼。 |
左大腿和右大腿 | 角色的大腿中的第一个骨骼。 |
左腿和右腿 | 角色的小腿中的第一个骨骼。 |
左脚和右脚 | 从角色的踝部延伸到脚的第一个骨骼。 |
脊椎 | 脊椎中的第一个骨骼,位于映射到髋部节点的骨骼之上。表示脊椎底部。 |
左臂和右臂 | 角色的上臂中的第一个骨骼。 |
左前臂和右前臂 | 角色的前臂中的第一个骨骼。 |
左手和右手 | 从角色的腕部延伸到手的第一个骨骼。 |
头 | 角色的脊椎中的最后一个完整的骨骼,不是头顶,而是颈部链中最后一个完整的骨骼。这通常是控制头部蒙皮的骨骼。 |
HumanIK 解算器最多可支持 9 个其他脊椎节点(Spine1 到 Spine9)以及 10 个颈部节点(Neck 以及 Neck1 到 Neck9)。自下而上对这些节点进行编号,越靠近髋部,编号就越小,越靠近头部,编号就越大。
手和脚在 HumanIK 中完全等效;每只脚和每只手均可包含相同类型的关节。但是,需要单独定义角色的每只脚和每只手。这使得每个角色内更为复杂。例如,一个海盗角色可以有一只脚踝以下方没有任何关节的木制假腿、一只仅趾跟有一个关节、但关节连接和脚趾不完整的穿靴的脚、一只关节完整的手和一只缺少几根手指的残疾手。
通过 HumanIK 窗口中的“定义”(Definition)选项卡,您可以为每只脚和每只手最多配置六个脚趾或手指。从左到右,手指和脚趾通常分别称为拇指、食指、中指、无名指和小指,以及大趾、二趾、中趾、四趾和小趾。HumanIK 还支持使用额外的第六个脚趾或手指(称为附加脚趾或手指)。但是,剩余手指的关节以及右手、左脚和右脚的关节都会遵循相同的命名约定。
可选指根节点和趾根节点在角色的手和脚内侧提供了关节,这些关节位于手指和脚趾弯曲的点处。在每个脚趾或手指不需要完整的关节连接,但在指关节处弯曲手或脚可增加真实感的情况下,这些节点的使用最频繁。例如,就穿有闭合鞋的角色而言,即使未为各个脚趾定义任何节点,通过趾根节点,脚同样可以在趾根处像铰链一样弯曲。
除上面讨论的节点以外,HumanIK 还支持以下节点以达到特殊效果。
HumanIK 在身体的每一侧都提供了两个肩部节点,这有助于在手臂旋转和抬起时模拟人体肩部的移动。
如果骨架包含位于脊椎和已映射到左臂或右臂节点的骨骼的骨骼之间,则可以将这些骨骼映射到左肩节点、右肩节点、附加左肩节点和附加右肩节点。必须首先映射肩部节点;如果已映射左肩节点,则只能映射附加左肩节点。
通过侧滚节点,您可以为角色的上臂、下臂、大腿和小腿映射骨骼。
HumanIK 解算器将侧滚旋转应用于具有一个子侧滚节点的节点时,即会从父节点提取该侧滚节点的百分比,并将其应用于子侧滚节点。此过程称为侧滚提取。侧滚提取模拟两足动物和四足动物的手臂和腿围绕其轴旋转的实际方式。通过从更合适的位置继续沿着肢体方向控制蒙皮变形,可大大提高为蒙皮角色创建的动画的真实感。请参见定义侧滚骨骼行为。
可以逐肢体最多映射五个侧滚骨骼。所有侧滚骨骼均被设置为同一肢体骨骼的子对象,且沿该肢体骨骼的侧滚骨骼放置以及每个侧滚骨骼的旋转百分比由每个肢体的侧滚骨骼数量确定。如果肢体具有多个侧滚骨骼,将在这些骨骼之间拆分旋转百分比。
此节点旨在用作角色的整体平移、旋转和缩放的可选存储库。可将其视为角色的髋部的抽象父对象。
在大多数情况下,无需使用参照节点。参照节点主要用于某些特定的情况,例如:
该节点用作平移角色髋部的独立存储库。如果要针对角色定义该节点,且 HumanIK 解算器需要偏移角色“髋部”(Hips) 节点的平移,则结果平移将存储回映射到“HipsTranslation”节点的骨骼中,而不是存储在映射到“髋部”(Hips) 节点的骨骼中。
默认情况下,即使已定义“HipsTranslation”节点,仍会将髋部的旋转存储在“髋部”(Hips) 节点中。但是,可以将 HumanIK 配置为将髋部的旋转存储在髋部转换节点中。也可以使用髋部转换节点将源角色的轨迹重定目标到目标角色。