HIKEffectorSetState 数据的迭代函数

可以使用以下函数设置或检索 HIKEffectorSetState 中单个效应器的数据。对于每个效应器,不仅可以沿每个轴设置其平移、方向和缩放值,而且还可以设置其 Reach、Pull 和 Resist IK 约束。

下面列出的函数遵循数据表示和函数变体下概述的命名约定。有关其他详细信息,请参见 API 参考中对每个函数的描述。

使用单独的数值阵列表示平移、四元数旋转和缩放值的函数:

使用变换矩阵的函数:

设置 IK 约束(Reach、Pull、Resist)的函数:

代码示例

以下代码使用 HIKSetEffectorStateTQSfv()HIKGetEffectorStateTQSfv() 函数来设置右手节点的平移、四元数旋转和缩放,以及检索左手节点对应的相同数据:

HIKSetEffectorStateTQSfv(MyEffState, RightHandEffectorId, myTargetPoint.GetTranslation()
                                                          myTargetPoint.GetRotation()
                                                          myTargetPoint.GetScale());
HIKSetTranslationActive(MyEffState, RightHandEffectorId, 1.0f);
HIKSetRotationActive(MyEffState, RightHandEffectorId, 1.0f);
HIKSetPull(MyEffState, RightHandEffectorId, 0.5f);
...
const float trans[4];
const float rota[4];
const float scale[4];
const float reachT;
const float reachR;
const float pull;
HIKGetEffectorStateTQSfv(MyEffState, LeftHandEffectorId, trans, rota, scale);
HIKGetTranslationActive(MyEffState, LeftHandEffectorId, reachT);
HIKGetRotationActive(MyEffState, LeftHandEffectorId, reachR);
HIKGetPull(MyEffState, LeftHandEffectorId, pull);