HIKEffectorSetState データの反復関数

HIKEffectorSetState の 1 つのエフェクタに対してデータを設定または取得するには、次の関数を使用できます。エフェクタごとに、各軸に沿った移動、向き、スケール値だけではなく、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);