このセクションでは、キャラクタのフロア コンタクトの設定に使用する関数について説明します。
フロア コンタクトの設定にあたっては、HIKPropertySetStateで適切なキャラクタ プロパティを設定することも必要です。HumanIK のフロア コンタクト エンジンの概要、およびフロア コンタクトの設定に関する完全な手順について、足および手のコンタクトを参照してください。
列挙 | |
| enum | HIKFloorContact { HIKLeftHandFloor =0, HIKRightHandFloor, HIKLeftFootFloor, HIKRightFootFloor, HIKLastFloorId } |
| フロア コンタクト エンジンによって制御可能なサーフェスを一覧表示します。表示... | |
関数 | |
| void | HIKGetEffectorFloorStatedv (const HIKEffectorSetState *pEffectorSetState, int pFloor, double pXForm[16]) |
| フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンの変換行列を取得します。表示... | |
| void | HIKGetEffectorFloorStatefv (const HIKEffectorSetState *pEffectorSetState, int pFloor, float pXForm[16]) |
| フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンの変換行列を取得します。表示... | |
| void | HIKGetEffectorFloorStateTQdv (const HIKEffectorSetState *pEffectorSetState, int pFloor, double pT[4], double pQ[4]) |
| フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンのグローバル スペースでトランスレーションおよび回転を取得します。表示... | |
| void | HIKGetEffectorFloorStateTQfv (const HIKEffectorSetState *pEffectorSetState, int pFloor, float pT[4], float pQ[4]) |
| フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンのグローバル スペースでトランスレーションおよび回転を取得します。表示... | |
| int | HIKGetFloorContactPointPositiondv (const HIKCharacter *pCharacter, const HIKCharacterState *pState, const HIKPropertySetState *pPropertySetState, int pMemberIndex, int pContactIndex, double pXForm[16]) |
フロア コンタクト エンジンが使用するマーカーのいずれか 1 つについてグローバル スペースでトランスレーションを取得し、キャラクタ pCharacter の足または手を HIKCharacterState pState で定義します。表示... | |
| int | HIKGetFloorContactPointPositionfv (const HIKCharacter *pCharacter, const HIKCharacterState *pState, const HIKPropertySetState *pPropertySetState, int pMemberIndex, int pContactIndex, float pT[4]) |
フロア コンタクト エンジンが使用するマーカーのいずれか 1 つについてグローバル スペースでトランスレーションを取得し、キャラクタ pCharacter の足または手を HIKCharacterState pState で定義します。表示... | |
| void | HIKSetEffectorFloorStatedv (HIKEffectorSetState *pEffectorSetState, int pFloor, const double pXForm[16]) |
| フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンの変換行列を設定します。表示... | |
| void | HIKSetEffectorFloorStatefv (HIKEffectorSetState *pEffectorSetState, int pFloor, const float pXForm[16]) |
| フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンの変換行列を設定します。表示... | |
| void | HIKSetEffectorFloorStateTQdv (HIKEffectorSetState *pEffectorSetState, int pFloor, const double pT[4], const double pQ[4]) |
| フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンのグローバル スペースでトランスレーションおよび回転を設定します。表示... | |
| void | HIKSetEffectorFloorStateTQfv (HIKEffectorSetState *pEffectorSetState, int pFloor, const float pT[4], const float pQ[4]) |
| フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンのグローバル スペースでトランスレーションおよび回転を設定します。表示... | |
| enum HIKFloorContact |
フロア コンタクト エンジンによって制御可能なサーフェスを一覧表示します。
四肢に対する床の位置を定義する変換行列の設定に使用します。HIKSetEffectorFloorStatefv() および HIKGetEffectorFloorStatefv() を参照してください。
| Enumerator | |
|---|---|
| HIKLeftHandFloor |
左手のフロア コンタクト |
| HIKRightHandFloor |
右手のフロア コンタクト |
| HIKLeftFootFloor |
左足のフロア コンタクト |
| HIKRightFootFloor |
右足のフロア コンタクト |
| HIKLastFloorId |
列挙の終わりを示します。 |
| void HIKGetEffectorFloorStatedv | ( | const HIKEffectorSetState * | pEffectorSetState, |
| int | pFloor, | ||
| double | pXForm[16] | ||
| ) |
フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンの変換行列を取得します。
| pEffectorSetState | HIKEffectorSetState: 床の向きを保持します。 | |
| pFloor | 床の向きを取得するジョイントを指定します。可能な値については、HIKFloorContact 列挙を参照してください。 | |
| [out] | pXForm | 床または方向を持ったコンタクト プレーンの変換行列をグローバル スペースに保存します(4x4 column major matrix)。 |
| void HIKGetEffectorFloorStatefv | ( | const HIKEffectorSetState * | pEffectorSetState, |
| int | pFloor, | ||
| float | pXForm[16] | ||
| ) |
フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンの変換行列を取得します。
| pEffectorSetState | HIKEffectorSetState: 床の向きを保持します。 | |
| pFloor | 床の向きを取得するジョイントを指定します。可能な値については、HIKFloorContact 列挙を参照してください。 | |
| [out] | pXForm | 床または方向を持ったコンタクト プレーンの変換行列をグローバル スペースに保存します(4x4 column major matrix)。 |
| void HIKGetEffectorFloorStateTQdv | ( | const HIKEffectorSetState * | pEffectorSetState, |
| int | pFloor, | ||
| double | pT[4], | ||
| double | pQ[4] | ||
| ) |
フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンのグローバル スペースでトランスレーションおよび回転を取得します。
| pEffectorSetState | HIKEffectorSetState: 床の向きを保持します。 |
| pFloor | 床の向きを取得するジョイントを指定します。可能な値については、HIKFloorContact 列挙を参照してください。 |
| pT | グローバル スペースで取得したトランスレーション値 |
| pQ | グローバル スペースで取得した回転値 |
| void HIKGetEffectorFloorStateTQfv | ( | const HIKEffectorSetState * | pEffectorSetState, |
| int | pFloor, | ||
| float | pT[4], | ||
| float | pQ[4] | ||
| ) |
フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンのグローバル スペースでトランスレーションおよび回転を取得します。
| pEffectorSetState | HIKEffectorSetState: 床の向きを保持します。 |
| pFloor | 床の向きを取得するジョイントを指定します。可能な値については、HIKFloorContact 列挙を参照してください。 |
| pT | グローバル スペースで取得したトランスレーション値 |
| pQ | グローバル スペースで取得した回転値 |
| int HIKGetFloorContactPointPositiondv | ( | const HIKCharacter * | pCharacter, |
| const HIKCharacterState * | pState, | ||
| const HIKPropertySetState * | pPropertySetState, | ||
| int | pMemberIndex, | ||
| int | pContactIndex, | ||
| double | pXForm[16] | ||
| ) |
フロア コンタクト エンジンが使用するマーカーのいずれか 1 つについてグローバル スペースでトランスレーションを取得し、キャラクタ pCharacter の足または手を HIKCharacterState pState で定義します。
キャラクタ プロパティからフロア コンタクト マーカーを計算する方法の詳細については、足および手のコンタクトを参照してください。
| pCharacter | HIKCharacter | |
| pState | HIKCharacterState | |
| pPropertySetState | HIKPropertySetState: キャラクタのフロア コンタクト プロパティを定義します。 HIKFootBottomToAnkleId などのフロア コンタクト プロパティを参照してください。 | |
| pMemberIndex | 結果の取得元となる四肢を定義します。0 = 左手、1 = 右手、2 = 左足、3 = 右足 | |
| pContactIndex | 取得するフロア コンタクト マーカーを定義します。フロア コンタクト タイプ(通常、手首、指のベース、または蹄)により、値は 0 ~ 5 に設定できます。 | |
| [out] | pXForm | フロア コンタクト マーカーのグローバル変換行列 |
| int HIKGetFloorContactPointPositionfv | ( | const HIKCharacter * | pCharacter, |
| const HIKCharacterState * | pState, | ||
| const HIKPropertySetState * | pPropertySetState, | ||
| int | pMemberIndex, | ||
| int | pContactIndex, | ||
| float | pT[4] | ||
| ) |
フロア コンタクト エンジンが使用するマーカーのいずれか 1 つについてグローバル スペースでトランスレーションを取得し、キャラクタ pCharacter の足または手を HIKCharacterState pState で定義します。
キャラクタ プロパティからフロア コンタクト マーカーを計算する方法の詳細については、足および手のコンタクトを参照してください。
| pCharacter | HIKCharacter | |
| pState | HIKCharacterState | |
| pPropertySetState | HIKPropertySetState: キャラクタのフロア コンタクト プロパティを定義します。 HIKFootBottomToAnkleId などのフロア コンタクト プロパティを参照してください。 | |
| pMemberIndex | 結果の取得元となる四肢を定義します。0 = 左手、1 = 右手、2 = 左足、3 = 右足 | |
| pContactIndex | 取得するフロア コンタクト マーカーを定義します。フロア コンタクト タイプ(通常、手首、指のベース、または蹄)により、値は 0 ~ 5 に設定できます。 | |
| [out] | pT | フロア コンタクト マーカーのグローバルトランスレーション |
| void HIKSetEffectorFloorStatedv | ( | HIKEffectorSetState * | pEffectorSetState, |
| int | pFloor, | ||
| const double | pXForm[16] | ||
| ) |
フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンの変換行列を設定します。
| pEffectorSetState | HIKEffectorSetState: 床の向きを保持します。 |
| pFloor | 床の向きが適用されるジョイントを決定します。可能な値については、HIKFloorContact 列挙を参照してください。 |
| pXForm | グローバル スペースの床または方向を持ったコンタクト プレーンの変換行列(4x4 column major matrix) |
| void HIKSetEffectorFloorStatefv | ( | HIKEffectorSetState * | pEffectorSetState, |
| int | pFloor, | ||
| const float | pXForm[16] | ||
| ) |
フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンの変換行列を設定します。
| pEffectorSetState | HIKEffectorSetState: 床の向きを保持します。 |
| pFloor | 床の向きが適用されるジョイントを決定します。可能な値については、HIKFloorContact 列挙を参照してください。 |
| pXForm | グローバル スペースの床または方向を持ったコンタクト プレーンの変換行列(4x4 column major matrix) |
| void HIKSetEffectorFloorStateTQdv | ( | HIKEffectorSetState * | pEffectorSetState, |
| int | pFloor, | ||
| const double | pT[4], | ||
| const double | pQ[4] | ||
| ) |
フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンのグローバル スペースでトランスレーションおよび回転を設定します。
| pEffectorSetState | HIKEffectorSetState: 床の向きを保持します。 |
| pFloor | 床の向きが適用されるジョイントを決定します。可能な値については、HIKFloorContact 列挙を参照してください。 |
| pT | グローバル スペースで設定したトランスレーション値 |
| pQ | グローバル スペースで設定した回転値 |
| void HIKSetEffectorFloorStateTQfv | ( | HIKEffectorSetState * | pEffectorSetState, |
| int | pFloor, | ||
| const float | pT[4], | ||
| const float | pQ[4] | ||
| ) |
フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンのグローバル スペースでトランスレーションおよび回転を設定します。
| pEffectorSetState | HIKEffectorSetState: 床の向きを保持します。 |
| pFloor | 床の向きが適用されるジョイントを決定します。可能な値については、HIKFloorContact 列挙を参照してください。 |
| pT | グローバル スペースで設定したトランスレーション値 |
| pQ | グローバル スペースで設定した回転値 |