由于不同的游戏引擎可能使用极其不同的角色动画数据表示,因此 HumanIK 提供了 3D 坐标、方向和缩放值的多种不同数据表示供您选择使用。
用于设置和检索数据的 HumanIK 函数归为以下两种主要类别:
这些方法在本质上是相同的;可以使用更适合您的项目和现有数据结构的方法。但是,因为 HumanIK 在内部使用单独的平移、四元数旋转和缩放值来存储值,所以接受并返回节点和效应器数据作为变换矩阵的函数需要在内部转化值。因此,这些矩阵函数的效率低于在单个数组中表示平移、方向和缩放值的函数。尽管此性能差异非常小,但在同时为许多不同的节点或效应器设置或检索值时却不容小觑。
HumanIK 中的许多函数,尤其是那些为效应器和节点设置和检索坐标数据的函数,将以多种接受不同类型的参数的变体形式提供。您可以选择最符合游戏引擎要求的变体和在环境中产生最佳性能的变体。
许多函数是以接受浮点数或双精度数的不同版本提供的,由以下后缀指明: