フロア コンタクト

モジュール説明

このセクションでは、キャラクタのフロア コンタクトの設定に使用する関数について説明します。

フロア コンタクトの設定にあたっては、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 つに適用する方向を持ったコンタクト プレーンのグローバル スペースでトランスレーションおよび回転を設定します。表示...
 

列挙型のドキュメント

フロア コンタクト エンジンによって制御可能なサーフェスを一覧表示します。

四肢に対する床の位置を定義する変換行列の設定に使用します。HIKSetEffectorFloorStatefv() および HIKGetEffectorFloorStatefv() を参照してください。

参照:
足および手のコンタクトを設定する
Enumerator
HIKLeftHandFloor 

左手のフロア コンタクト

HIKRightHandFloor 

右手のフロア コンタクト

HIKLeftFootFloor 

左足のフロア コンタクト

HIKRightFootFloor 

右足のフロア コンタクト

HIKLastFloorId 

列挙の終わりを示します。

関数のドキュメント

void HIKGetEffectorFloorStatedv ( const HIKEffectorSetState pEffectorSetState,
int  pFloor,
double  pXForm[16] 
)

フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンの変換行列を取得します。

パラメータ:
pEffectorSetStateHIKEffectorSetState: 床の向きを保持します。
pFloor床の向きを取得するジョイントを指定します。可能な値については、HIKFloorContact 列挙を参照してください。
[out]pXForm床または方向を持ったコンタクト プレーンの変換行列をグローバル スペースに保存します(4x4 column major matrix)。
void HIKGetEffectorFloorStatefv ( const HIKEffectorSetState pEffectorSetState,
int  pFloor,
float  pXForm[16] 
)

フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンの変換行列を取得します。

パラメータ:
pEffectorSetStateHIKEffectorSetState: 床の向きを保持します。
pFloor床の向きを取得するジョイントを指定します。可能な値については、HIKFloorContact 列挙を参照してください。
[out]pXForm床または方向を持ったコンタクト プレーンの変換行列をグローバル スペースに保存します(4x4 column major matrix)。
void HIKGetEffectorFloorStateTQdv ( const HIKEffectorSetState pEffectorSetState,
int  pFloor,
double  pT[4],
double  pQ[4] 
)

フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンのグローバル スペースでトランスレーションおよび回転を取得します。

パラメータ:
pEffectorSetStateHIKEffectorSetState: 床の向きを保持します。
pFloor床の向きを取得するジョイントを指定します。可能な値については、HIKFloorContact 列挙を参照してください。
pTグローバル スペースで取得したトランスレーション値
pQグローバル スペースで取得した回転値
void HIKGetEffectorFloorStateTQfv ( const HIKEffectorSetState pEffectorSetState,
int  pFloor,
float  pT[4],
float  pQ[4] 
)

フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンのグローバル スペースでトランスレーションおよび回転を取得します。

パラメータ:
pEffectorSetStateHIKEffectorSetState: 床の向きを保持します。
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 で定義します。

キャラクタ プロパティからフロア コンタクト マーカーを計算する方法の詳細については、足および手のコンタクトを参照してください。

パラメータ:
pCharacterHIKCharacter
pStateHIKCharacterState
pPropertySetStateHIKPropertySetState: キャラクタのフロア コンタクト プロパティを定義します。 HIKFootBottomToAnkleId などのフロア コンタクト プロパティを参照してください。
pMemberIndex結果の取得元となる四肢を定義します。0 = 左手、1 = 右手、2 = 左足、3 = 右足
pContactIndex取得するフロア コンタクト マーカーを定義します。フロア コンタクト タイプ(通常、手首、指のベース、または蹄)により、値は 0 ~ 5 に設定できます。
[out]pXFormフロア コンタクト マーカーのグローバル変換行列
戻り値:
pMemberIndex および pContactIndex が有効な場合は 1、それ以外の場合は 0 を返します。
int HIKGetFloorContactPointPositionfv ( const HIKCharacter pCharacter,
const HIKCharacterState pState,
const HIKPropertySetState pPropertySetState,
int  pMemberIndex,
int  pContactIndex,
float  pT[4] 
)

フロア コンタクト エンジンが使用するマーカーのいずれか 1 つについてグローバル スペースでトランスレーションを取得し、キャラクタ pCharacter の足または手を HIKCharacterState pState で定義します。

キャラクタ プロパティからフロア コンタクト マーカーを計算する方法の詳細については、足および手のコンタクトを参照してください。

パラメータ:
pCharacterHIKCharacter
pStateHIKCharacterState
pPropertySetStateHIKPropertySetState: キャラクタのフロア コンタクト プロパティを定義します。 HIKFootBottomToAnkleId などのフロア コンタクト プロパティを参照してください。
pMemberIndex結果の取得元となる四肢を定義します。0 = 左手、1 = 右手、2 = 左足、3 = 右足
pContactIndex取得するフロア コンタクト マーカーを定義します。フロア コンタクト タイプ(通常、手首、指のベース、または蹄)により、値は 0 ~ 5 に設定できます。
[out]pTフロア コンタクト マーカーのグローバルトランスレーション
戻り値:
pMemberIndex および pContactIndex が有効な場合は 1、それ以外の場合は 0 を返します。
void HIKSetEffectorFloorStatedv ( HIKEffectorSetState pEffectorSetState,
int  pFloor,
const double  pXForm[16] 
)

フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンの変換行列を設定します。

パラメータ:
pEffectorSetStateHIKEffectorSetState: 床の向きを保持します。
pFloor床の向きが適用されるジョイントを決定します。可能な値については、HIKFloorContact 列挙を参照してください。
pXFormグローバル スペースの床または方向を持ったコンタクト プレーンの変換行列(4x4 column major matrix)
void HIKSetEffectorFloorStatefv ( HIKEffectorSetState pEffectorSetState,
int  pFloor,
const float  pXForm[16] 
)

フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンの変換行列を設定します。

パラメータ:
pEffectorSetStateHIKEffectorSetState: 床の向きを保持します。
pFloor床の向きが適用されるジョイントを決定します。可能な値については、HIKFloorContact 列挙を参照してください。
pXFormグローバル スペースの床または方向を持ったコンタクト プレーンの変換行列(4x4 column major matrix)
void HIKSetEffectorFloorStateTQdv ( HIKEffectorSetState pEffectorSetState,
int  pFloor,
const double  pT[4],
const double  pQ[4] 
)

フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンのグローバル スペースでトランスレーションおよび回転を設定します。

パラメータ:
pEffectorSetStateHIKEffectorSetState: 床の向きを保持します。
pFloor床の向きが適用されるジョイントを決定します。可能な値については、HIKFloorContact 列挙を参照してください。
pTグローバル スペースで設定したトランスレーション値
pQグローバル スペースで設定した回転値
void HIKSetEffectorFloorStateTQfv ( HIKEffectorSetState pEffectorSetState,
int  pFloor,
const float  pT[4],
const float  pQ[4] 
)

フロア コンタクト エンジンがキャラクタの足または手のいずれか 1 つに適用する方向を持ったコンタクト プレーンのグローバル スペースでトランスレーションおよび回転を設定します。

パラメータ:
pEffectorSetStateHIKEffectorSetState: 床の向きを保持します。
pFloor床の向きが適用されるジョイントを決定します。可能な値については、HIKFloorContact 列挙を参照してください。
pTグローバル スペースで設定したトランスレーション値
pQグローバル スペースで設定した回転値