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);