坐标和单位
坐标系
HumanIK 代表使用右手正交坐标系的三维空间。按照以下约定定义三个轴:
请注意,前方向轴的正向指向屏幕之外,而不是指向屏幕内。
如果您的游戏使用其他坐标系,则必须确保每次在项目和 HumanIK 之间交换平移、旋转和缩放数据时都正确地交换方向轴。
测量单位
HumanIK 不会强制使用任何特定度量单位。为了最大限度提高效率,可以提供采用游戏引擎中所用单位的距离度量;HumanIK 解算器将提供使用相同单位的计算结果。
无论选择什么单位,都必须保持一致。始终使用相同的单位,包括:
- 每当您需要在游戏和 HumanIK 之间交换平移数据时。例如,在设置或检索节点或效应器沿每个轴的平移时。
- 对于角色的 HIKPropertySetState 中保持距离度量的所有角色特性值。例如,用于保持髋部和胸部效应器的偏移的特性(例如 HIKHipsTOffsetXId),以及用于指定角色的脚和手与地板接触的维度的特性(例如 HIKFootBottomToAnkleId)。
请注意,默认情况下,会将这些特性的值设置为适用于高约 180 个世界单位的角色;因此,这些默认值适用于使用厘米作为距离度量单位的项目。如果您的游戏使用其他度量单位,则需要相应地调整这些默认值。例如,如果您的游戏使用米作为度量单位,则这些角色特性的默认值将增大
100 倍。