自由度

HumanIK 生物力学模型包含有关 Biped 骨架旋转的多个内置限制,以避免无法实现和不切实际的移动。例如,角色的肘部可以沿它们的主轴打开,直至它们完全伸展,但不可以向后弯曲。通过自由度,可以增加针对特定角色的这些内置旋转限制,以创建对骨架灵活性的其他约束。

可以为角色中每个不同的节点设置不同的自由度,以防止 HumanIK 将这些节点围绕其局部 X、Y 和 Z 轴旋转到某些禁止的方向。若要补偿这些限制,反向运动学解算器将尝试旋转角色骨架中的其他节点来满足 HIKEffectorSetState 所设置的要求。

自由度通常是由美工人员或动画设计师通过数字内容创建工具(例如 MotionBuilder、Maya 或 3ds Max)所确定的。如果没有可视化轴方向的方法,可能很难预测适当的值。建议您仅使用 HumanIK 中的自由度支持美工人员预先确定的角色运动范围限制。

设置自由度

HumanIK 中,自由度必须在角色化角色的过程中进行设置。

虽然在 HIKCharacter 完成后无法设置自由度,但可以通过调用 HIKGetLimitsfv() 函数随时检索指定给节点的自由度。请注意,这些自由度始终以每个节点的局部空间表示,而不是全局空间。