ユーティリティ

ユーティリティ
+ この参照ページは、次の概要トピックと関連付けられています。

モジュール説明

HumanIK で使用するユーティリティ関数

関数

void HIKApplyHumanLimits (const HIKCharacter *pCharacter, HIKCharacterState *pState)
 HumanIK 生体力学モデルに組み込まれた制限を pState に含まれるポーズに適用します。表示...
 
void HIKBlendEffectorPivotsdv (HIKEffectorSetState *pEffectorSetState, int pEffectorId, double(*pXFormArray)[16], double(*pIKPivotArray)[4], double *pReachTArray, double *pReachRArray, int pPivotCount)
 エフェクタ pEffectorId の変換行列と IK コンストレイントを HIKEffectorSetState pEffectorSetState でそれぞれ個別の配列で提供される複数の値とブレンドします。表示...
 
void HIKBlendEffectorPivotsTQSdv (HIKEffectorSetState *pEffectorSetState, int pEffectorId, double(*pT)[4], double(*pQ)[4], double(*pS)[4], double(*pIKPivotArray)[4], double *pReachTArray, double *pReachRArray, int pPivotCount)
 エフェクタ pEffectorId のトランスレーション(T)、クォータニオン回転(Q)、スケール(S)、および IK コンストレイントを HIKEffectorSetState pEffectorSetState でそれぞれ個別の配列で提供される複数の値とブレンドします。表示...
 
void HIKBlendState (const HIKCharacter *pCharacter, HIKCharacterState *pStateOut, HIKCharacterState const *pStateIn1, HIKCharacterState const *pStateIn2, float blendFactor)
 HIKCharacterState pStateIn1HIKCharacterState pStateIn2 との間で一次的なブレンドを実行します。表示...
 
void HIKCharacterStateCopy (HIKCharacterState *pStateOut, const HIKCharacterState *pStateIn)
 HIKCharacterStatepStateIn から pStateOut にコピーします。表示...
 
int HIKEffectorIdFromEffectorName (const char *pName)
 説明的な名前からエフェクタ ID を取得します。これは FBX と HIK とをマッピングするユーティリティ関数です。表示...
 
const char * HIKEffectorNameFromEffectorId (int pEffectorId)
 エフェクタ pEffectorId の説明的な名前を取得します。これは FBX と HIK とをマッピングするユーティリティ関数です。表示...
 
void HIKEffectorStatePostMultdv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const double pXForm[16], int pInverse)
 エフェクタ pEffectorIndex の現在のトランスレーション、回転、およびスケールを pXForm と Post Multiply します。表示...
 
void HIKEffectorStatePostMultfv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const float pXForm[16], int pInverse)
 エフェクタ pEffectorIndex の現在のトランスレーション、回転、およびスケールを pXForm と Post Multiply します。表示...
 
void HIKEffectorStatePostMultTQSdv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const double pT[4], const double pQ[4], const double pS[4], int pInverse)
 エフェクタ pEffectorIndex の現在のトランスレーション、回転、およびスケールを pT、pQ、および pS と Post Multiply します。表示...
 
void HIKEffectorStatePostMultTQSfv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const float pT[4], const float pQ[4], const float pS[4], int pInverse)
 エフェクタ pEffectorIndex の現在のトランスレーション、回転、およびスケールを pT、pQ、および pS と Post Multiply します。表示...
 
void HIKEulerFromQuat (const float quat[4], float euler[4])
 クォータニオンからオイラー角度を計算します(デフォルトの XYZ 順序)。表示...
 
void HIKGetCharacterSpaceEffectorStateFromCharacterdv (int pEffectorIndex, const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, const HIKPropertySetState *pPropertyState, double pXForm[16])
 エフェクタ pEffectorIndex の キャラクタ pCharacter に関する変換行列を HIKCharacterState pCharacterState で取得して、キャラクタのキャラクタライゼーション ポーズ(キャラクタのデフォルトの T スタンス)に含まれる回転およびスケール オフセットをエフェクタの最終回転に適用します。表示...
 
void HIKGetCharacterSpaceEffectorStateFromCharacterTQSdv (int pEffectorIndex, const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, const HIKPropertySetState *pPropertyState, double pT[4], double pQ[4], double pS[4])
 エフェクタ pEffectorIndex のキャラクタ pCharacter に関するトランスレーション(T)、クォータニオン回転(Q)、およびスケール(S)を HIKCharacterState pCharacterState で取得して、キャラクタのキャラクタライゼーション ポーズ(キャラクタのデフォルトの T スタンス)に含まれる回転およびスケール オフセットをエフェクタの最終回転に適用します。表示...
 
int HIKGetChildNodeCount (const HIKCharacter *pCharacter, int pParentNodeId)
 親ノード pParentNodeId と関連付けられた子ノードの数を取得します。表示...
 
int HIKGetChildNodeId (const HIKCharacter *pCharacter, int pParentNodeId, int pChildIndex)
 インデックス pChildIndex を親ノード pParentNodeId に対して持つ子ノードを取得します。表示...
 
void HIKGetDOFFromLocalQfv (const HIKCharacter *pCharacter, int pNodeId, const float pQuat[4], float pEuler[4])
 DOF 構造(Pre Rotation、回転順序など)を使用して、ローカル クォータニオンのオイラー角度に相当するものを計算します。表示...
 
void HIKGetLocalQFromDOFfv (const HIKCharacter *pCharacter, int pNodeId, const float pEuler[4], float pQuat[4])
 DOF 構造(Pre Rotation、回転順序など)を使用して、オイラー角度からローカル クォータニオンを計算します。表示...
 
int HIKGetParentNodeId (const HIKCharacter *pCharacter, int pChildNodeId)
 指定されたノード pChildNodeId の親ノードを取得します。表示...
 
void HIKMirrorState (HIKCharacter *pCharacter, HIKCharacterState *pMirrorState, HIKCharacterState *pFromState, HIKCharacter *pFromCharacter, double pMirrorGQ[4])
 HIKCharacterState pFromState に含まれるポーズを pMirrorGQ によって向きが定義されたプレーンに反映します。表示...
 
int HIKNodeIdFromNodeName (const char *pName)
 説明的な名前からノード ID を取得します。これは FBX と HIK とをマッピングするユーティリティ関数です。表示...
 
const char * HIKNodeNameFromNodeId (int pNodeId)
 ノード pNodeId の説明的な名前を取得します。これは FBX と HIK とをマッピングするユーティリティ関数です。表示...
 
void HIKNodeStatePreMultTQSdv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const double pT[4], const double pQ[4], const double pS[4], int pInverse)
 ノード pNodeId の現在のトランスレーション、回転、およびスケールを pT、pQ、および pS と Pre Multiply します。表示...
 
void HIKNodeStatePreMultTQSfv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float pT[4], const float pQ[4], const float pS[4], int pInverse)
 ノード pNodeId の現在のトランスレーション、回転、およびスケールを pT、pQ、および pS と Pre Multiply します。表示...
 
void HIKNodeStatePreMultTQSUpdv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const double pT[4], const double pQ[4], const double pS[4], int pInverse)
 HIKCharacterState のすべてのノードの現在のトランスレーション、回転、およびスケールを pT、pQ、および pS と Pre Multiply します。表示...
 
void HIKNodeStatePreMultTQSUpfv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const float pT[4], const float pQ[4], const float pS[4], int pInverse)
 HIKCharacterState のすべてのノードの現在のトランスレーション、回転、およびスケールを pT、pQ、および pS と Pre Multiply します。表示...
 
void HIKPasteState (HIKCharacter *pCharacter, HIKCharacterState *pOutputState, HIKCharacterState *pCurrentState, HIKCharacter *pFromCharacter, HIKCharacterState *pFromState, HIKPropertySetState *pFilterSet, HIKPropertySetState *pFromFilterSet, double pHipsOffsetGX[16])
 HIKCharacterState pFromStateHIKCharacterpFromCharacter についてコピーし、pOutputState に貼り付けて、さまざまな HIKCharacter に使用します。表示...
 
void HIKQTransform (const float quat[4], const float p[4], float q[4])
 クォータニオンによって変換されたポイントの結果を計算します。表示...
 
void HIKRelaxState (const HIKCharacter *pCharacter, HIKCharacterState *pState, float pX, float pY, float pZ)
 HIKCharacterState pState に含まれるポーズをキャラクタ向けに内部的に生成されたデフォルトの "リラックス ポーズ" とブレンドします。表示...
 
void HIKSetEffectorPullResistFromPropertyState (HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertySetState)
 Pull と Resist のプロパティを HIKPropertySetStatepPropertySetState から HIKEffectorSetStatepEffectorSetState に転送します。表示...
 

関数のドキュメント

void HIKApplyHumanLimits ( const HIKCharacter pCharacter,
HIKCharacterState pState 
)

HumanIK 生体力学モデルに組み込まれた制限を pState に含まれるポーズに適用します。

この関数は、Ragdoll Physics System で生成されたポーズなど、実際の Biped では支えられない可能性のあるポーズを取得し、ノードのトランスレーションおよび回転を拘束して、HumanIK 生体力学モデルに組み込まれた要件を満たし、Biped のキャラクタに有効な位置を作成します。

パラメータ:
pCharacterHIKCharacterpState に一致するもの
[in,out]pStateHIKCharacterState: 変更対象のポーズを含みます。
void HIKBlendEffectorPivotsdv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorId,
double(*)  pXFormArray[16],
double(*)  pIKPivotArray[4],
double *  pReachTArray,
double *  pReachRArray,
int  pPivotCount 
)

エフェクタ pEffectorId の変換行列と IK コンストレイントを HIKEffectorSetState pEffectorSetState でそれぞれ個別の配列で提供される複数の値とブレンドします。

値の各セット間のブレンドは、pReachTArray パラメータと pReachRArray パラメータで制御されます。値を大きくすればするほど、対応する変換行列と IK コンストレイント値に対してウェイト付けされる最終ソリューションの数が増えます。

パラメータ:
pEffectorSetStateHIKEffectorSetState: pEffectorId を含みます。
pEffectorIdブレンドするエフェクタの固有の ID
pXFormArrayエフェクタとブレンドする異なった変換行列を含む配列
pIKPivotArrayエフェクタとブレンドする IK ピボットの配列。この配列の値を 0.0f に設定すると、IK ピボットのないエフェクタの変換行列と IK コンストレイント値をブレンドできます。
pReachTArrayエフェクタに提供されたトランスレーション値の相対的なウェイトを制御する配列
pReachRArrayエフェクタに提供された向きの値の相対的なウェイトを制御する配列
pPivotCount変換行列と IK コンストレイント値のセットの総数(つまり、pXFormArray パラメータ、pIKPivotArray パラメータ、pReachTArray パラメータおよび pReachRArray パラメータの長さ)

この関数は、浮動小数値を内部的に倍精度に変換します。浮動小数点値が使用できない場合のみ使用します。最高のパフォーマンスを得るには、できる限り代わりに、HIKSetEffectorPivotStateTQSfv() 関数を使用してください。

void HIKBlendEffectorPivotsTQSdv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorId,
double(*)  pT[4],
double(*)  pQ[4],
double(*)  pS[4],
double(*)  pIKPivotArray[4],
double *  pReachTArray,
double *  pReachRArray,
int  pPivotCount 
)

エフェクタ pEffectorId のトランスレーション(T)、クォータニオン回転(Q)、スケール(S)、および IK コンストレイントを HIKEffectorSetState pEffectorSetState でそれぞれ個別の配列で提供される複数の値とブレンドします。

値の各セット間のブレンドは、pReachTArray パラメータと pReachRArray パラメータで制御されます。値を大きくすればするほど、対応する TQS の値のセットと IK コンストレイント値に対してウェイト付けされる最終ソリューションの数が増えます。

パラメータ:
pEffectorSetStateHIKEffectorSetState: pEffectorId を含みます。
pEffectorIdブレンドするエフェクタの固有の ID
pTエフェクタとブレンドする異なったトランスレーション値を含む配列
pQエフェクタとブレンドする異なった回転値を含むクォータニオンの配列
pSエフェクタとブレンドする異なったスケール値を含む配列
pIKPivotArrayエフェクタとブレンドする IK ピボットの配列。この配列の値を 0.0f に設定すると、IK ピボットのないエフェクタの TQS の値と IK コンストレイント値をブレンドできます。
pReachTArrayエフェクタに提供されたトランスレーション値の相対的なウェイトを制御する配列
pReachRArrayエフェクタに提供された向きの値の相対的なウェイトを制御する配列
pPivotCountTQS の値のセットと IK コンストレイント値の総数(つまり、pT, pQ パラメータ、pT パラメータ、pIKPivotArray パラメータ、pReachTArray パラメータ、および pReachRArray パラメータの長さ)

この関数は、浮動小数値を内部的に倍精度に変換します。浮動小数点値が使用できない場合のみ使用します。最高のパフォーマンスを得るには、できる限り代わりに、HIKSetEffectorPivotStateTQSfv() 関数を使用してください。

void HIKBlendState ( const HIKCharacter pCharacter,
HIKCharacterState pStateOut,
HIKCharacterState const *  pStateIn1,
HIKCharacterState const *  pStateIn2,
float  blendFactor 
)

HIKCharacterState pStateIn1HIKCharacterState pStateIn2 との間で一次的なブレンドを実行します。

パラメータ:
pCharacterHIKCharacter: ブレンドの実行対象
[out]pStateOutHIKCharacterState: ブレンドされたポーズを含みます。
pStateIn1HIKCharacterState 1
pStateIn2HIKCharacterState 2
blendFactorブレンド係数。このパラメータの値は 0~1 にする必要があります。ここで、小さい方の値では HIKCharacterState 1 が優先され、大きい方の値では HIKCharacterState 2 が優先されます。値が 0.5 の場合、2 つの状態は均等にブレンドされます。
void HIKCharacterStateCopy ( HIKCharacterState pStateOut,
const HIKCharacterState pStateIn 
)

HIKCharacterStatepStateIn から pStateOut にコピーします。

パラメータ:
[out]pStateOut出力 HIKCharacterState
pStateIn入力 HIKCharacterState
int HIKEffectorIdFromEffectorName ( const char *  pName)

説明的な名前からエフェクタ ID を取得します。これは FBX と HIK とをマッピングするユーティリティ関数です。

パラメータ:
pNameエフェクタの説明的な名前。HIKEffectorNameFromEffectorId() によって返された値と一致する必要があります。
戻り値:
指定した名前に関連付けられたエフェクタ ID。可能な値については、HIKEffectorId 列挙を参照してください。
const char* HIKEffectorNameFromEffectorId ( int  pEffectorId)

エフェクタ pEffectorId の説明的な名前を取得します。これは FBX と HIK とをマッピングするユーティリティ関数です。

パラメータ:
pEffectorIdエフェクタの固有の ID。可能な値については、HIKEffectorId 列挙を参照してください。
戻り値:
指定したエフェクタ ID に関連付けられた名前
void HIKEffectorStatePostMultdv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorIndex,
const double  pXForm[16],
int  pInverse 
)

エフェクタ pEffectorIndex の現在のトランスレーション、回転、およびスケールを pXForm と Post Multiply します。

パラメータ:
pEffectorSetStateHIKEffectorSetState
pEffectorIndex変換行列が Post Multiply されるエフェクタのインデックス可能な値については、HIKEffectorId 列挙を参照してください。
pXFormPost Multiply される変換行列
pInverse1 に設定すると、逆方向の Post Multiply が実行されます。
void HIKEffectorStatePostMultfv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorIndex,
const float  pXForm[16],
int  pInverse 
)

エフェクタ pEffectorIndex の現在のトランスレーション、回転、およびスケールを pXForm と Post Multiply します。

パラメータ:
pEffectorSetStateHIKEffectorSetState
pEffectorIndex変換行列が Post Multiply されるエフェクタのインデックス可能な値については、HIKEffectorId 列挙を参照してください。
pXFormPost Multiply される変換行列
pInverse1 に設定すると、逆方向の Post Multiply が実行されます。
void HIKEffectorStatePostMultTQSdv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorIndex,
const double  pT[4],
const double  pQ[4],
const double  pS[4],
int  pInverse 
)

エフェクタ pEffectorIndex の現在のトランスレーション、回転、およびスケールを pT、pQ、および pS と Post Multiply します。

パラメータ:
pEffectorSetStateHIKEffectorSetState
pEffectorIndex変換行列が Post Multiply されるエフェクタのインデックス可能な値については、HIKEffectorId 列挙を参照してください。
pTPost Multiply されるグローバルトランスレーション
pQPost Multiply されるグローバル回転
pSPost Multiply されるグローバル スケール
pInverse1 に設定すると、逆方向の Post Multiply が実行されます。
void HIKEffectorStatePostMultTQSfv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorIndex,
const float  pT[4],
const float  pQ[4],
const float  pS[4],
int  pInverse 
)

エフェクタ pEffectorIndex の現在のトランスレーション、回転、およびスケールを pT、pQ、および pS と Post Multiply します。

パラメータ:
pEffectorSetStateHIKEffectorSetState
pEffectorIndex変換行列が Post Multiply されるエフェクタのインデックス可能な値については、HIKEffectorId 列挙を参照してください。
pTPost Multiply されるグローバルトランスレーション
pQPost Multiply されるグローバル回転
pSPost Multiply されるグローバル スケール
pInverse1 に設定すると、逆方向の Post Multiply が実行されます。
void HIKEulerFromQuat ( const float  quat[4],
float  euler[4] 
)

クォータニオンからオイラー角度を計算(デフォルトの XYZ 順序)

void HIKGetCharacterSpaceEffectorStateFromCharacterdv ( int  pEffectorIndex,
const HIKCharacter pCharacter,
const HIKCharacterState pCharacterState,
const HIKPropertySetState pPropertyState,
double  pXForm[16] 
)

エフェクタ pEffectorIndex の キャラクタ pCharacter に関する変換行列を HIKCharacterState pCharacterState で取得して、キャラクタのキャラクタライゼーション ポーズ(キャラクタのデフォルトの T スタンス)に含まれる回転およびスケール オフセットをエフェクタの最終回転に適用します。

パラメータ:
pEffectorIndex変換行列を取得するエフェクタの固有の ID。可能な値については、HIKEffectorId 列挙を参照してください。
pCharacterHIKCharacter: 取得対象
pCharacterStateHIKCharacterState: ここからエフェクタの配置を取得します。
pPropertyStateHIKPropertySetState: キャラクタのすべてのキャラクタ プロパティを含みます。
[out]pXFormエフェクタの変換行列をグローバル スペースに保存します(4x4 column major matrix)。

この関数は、浮動小数値を内部的に倍精度に変換します。浮動小数点値が使用できない場合のみ使用します。最高のパフォーマンスを得るには、できる限り代わりに、HIKSetEffectorPivotStateTQSfv() 関数を使用してください。

void HIKGetCharacterSpaceEffectorStateFromCharacterTQSdv ( int  pEffectorIndex,
const HIKCharacter pCharacter,
const HIKCharacterState pCharacterState,
const HIKPropertySetState pPropertyState,
double  pT[4],
double  pQ[4],
double  pS[4] 
)

エフェクタ pEffectorIndex のキャラクタ pCharacter に関するトランスレーション(T)、クォータニオン回転(Q)、およびスケール(S)を HIKCharacterState pCharacterState で取得して、キャラクタのキャラクタライゼーション ポーズ(キャラクタのデフォルトの T スタンス)に含まれる回転およびスケール オフセットをエフェクタの最終回転に適用します。

パラメータ:
pEffectorIndexTQS の値を取得するエフェクタの固有の ID。可能な値については、HIKEffectorId 列挙を参照してください。
pCharacterHIKCharacter: 取得対象
pCharacterStateHIKCharacterState: ここからエフェクタの配置を取得します。
pPropertyStateHIKPropertySetState: キャラクタのすべてのキャラクタ プロパティを含みます。
[out]pTトランスレーション値を保存します。
[out]pQ向きの値を保存します。
[out]pSスケール値を保存します。

この関数は、浮動小数値を内部的に倍精度に変換します。浮動小数点値が使用できない場合のみ使用します。最高のパフォーマンスを得るには、できる限り代わりに、HIKSetEffectorPivotStateTQSfv() 関数を使用してください。

int HIKGetChildNodeCount ( const HIKCharacter pCharacter,
int  pParentNodeId 
)

親ノード pParentNodeId と関連付けられた子ノードの数を取得します。

パラメータ:
pCharacterHIKCharacter
pParentNodeId親ノードの ID。可能な値については、HIKNodeId 列挙を参照してください。
戻り値:
指定した親ノードが保有する子ノードの数
int HIKGetChildNodeId ( const HIKCharacter pCharacter,
int  pParentNodeId,
int  pChildIndex 
)

インデックス pChildIndex を親ノード pParentNodeId に対して持つ子ノードを取得します。

パラメータ:
pCharacterHIKCharacter
pParentNodeId親ノードの ID。可能な値については、HIKNodeId 列挙を参照してください。
pChildIndex子のインデックス。値は 0 と HIKGetChildNodeCount() によってその親ノード向けに返される値の間である必要があります。
戻り値:
子ノードの HIKNodeId
void HIKGetDOFFromLocalQfv ( const HIKCharacter pCharacter,
int  pNodeId,
const float  pQuat[4],
float  pEuler[4] 
)

DOF 構造(Pre Rotation、回転順序など)を使用して、ローカル クォータニオンのオイラー角度に相当するものを計算します。

void HIKGetLocalQFromDOFfv ( const HIKCharacter pCharacter,
int  pNodeId,
const float  pEuler[4],
float  pQuat[4] 
)

DOF 構造(Pre Rotation、回転順序など)を使用して、オイラー角度からローカル クォータニオンを計算します。

int HIKGetParentNodeId ( const HIKCharacter pCharacter,
int  pChildNodeId 
)

指定されたノード pChildNodeId の親ノードを取得します。

パラメータ:
pCharacterHIKCharacter
pChildNodeId子ノードの ID。可能な値については、HIKNodeId 列挙を参照してください。
戻り値:
親ノードの HIKNodeId
void HIKMirrorState ( HIKCharacter pCharacter,
HIKCharacterState pMirrorState,
HIKCharacterState pFromState,
HIKCharacter pFromCharacter,
double  pMirrorGQ[4] 
)

HIKCharacterState pFromState に含まれるポーズを pMirrorGQ によって向きが定義されたプレーンに反映します。

パラメータ:
pCharacterHIKCharacter: 反映された HIKCharacterState を使用します。
[out]pMirrorStateHIKCharacterState: pFromState から反映されたポーズを含みます。
pFromState反映対象の HIKCharacterState
pFromCharacterHIKCharacterpFromState に一致するもの
pMirrorGQクォータニオンとして表現されたミラー プレーンの向き
int HIKNodeIdFromNodeName ( const char *  pName)

説明的な名前からノード ID を取得します。これは FBX と HIK とをマッピングするユーティリティ関数です。

パラメータ:
pNameノードの説明的な名前。HIKNodeNameFromNodeId() によって返された値と一致する必要があります。
戻り値:
指定した名前に関連付けられたノード ID。可能な値については、HIKNodeId 列挙を参照してください。
const char* HIKNodeNameFromNodeId ( int  pNodeId)

ノード pNodeId の説明的な名前を取得します。これは FBX と HIK とをマッピングするユーティリティ関数です。

パラメータ:
pNodeIdノードの固有の ID。可能な値については、HIKNodeId 列挙を参照してください。
戻り値:
指定したノード ID に関連付けられた名前
void HIKNodeStatePreMultTQSdv ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
int  pNodeId,
const double  pT[4],
const double  pQ[4],
const double  pS[4],
int  pInverse 
)

ノード pNodeId の現在のトランスレーション、回転、およびスケールを pT、pQ、および pS と Pre Multiply します。

パラメータ:
pCharacterHIKCharacter: 変更対象のキャラクタ
pCharacterStateHIKCharacterState: Pre Rotation で変更されたポーズを含みます。
pNodeId変換行列が Pre Multiply されるノードのインデックス。可能な値については、HIKNodeId 列挙を参照してください。
pTPre Multiply されるグローバルトランスレーション
pQPre Multiply されるグローバル回転
pSPre Multiply されるグローバル スケール
pInverse1 に設定すると、逆方向の Pre Multiply が実行されます。
void HIKNodeStatePreMultTQSfv ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
int  pNodeId,
const float  pT[4],
const float  pQ[4],
const float  pS[4],
int  pInverse 
)

ノード pNodeId の現在のトランスレーション、回転、およびスケールを pT、pQ、および pS と Pre Multiply します。

パラメータ:
pCharacterHIKCharacter: 変更対象のキャラクタ
pCharacterStateHIKCharacterState: Pre Rotation で変更されたポーズを含みます。
pNodeId変換行列が Pre Multiply されるノードのインデックス。可能な値については、HIKNodeId 列挙を参照してください。
pTPre Multiply されるグローバルトランスレーション
pQPre Multiply されるグローバル回転
pSPre Multiply されるグローバル スケール
pInverse1 に設定すると、逆方向の Pre Multiply が実行されます。
void HIKNodeStatePreMultTQSUpdv ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
const double  pT[4],
const double  pQ[4],
const double  pS[4],
int  pInverse 
)

HIKCharacterState のすべてのノードの現在のトランスレーション、回転、およびスケールを pT、pQ、および pS と Pre Multiply します。

パラメータ:
pCharacterHIKCharacter: 変更対象のキャラクタ
pCharacterStateHIKCharacterState: Pre Rotation で変更されたポーズを含みます。
pTPre Multiply されるグローバルトランスレーション
pQPre Multiply されるグローバル回転
pSPre Multiply されるグローバル スケール
pInverse1 に設定すると、逆方向の Pre Multiply が実行されます。
void HIKNodeStatePreMultTQSUpfv ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
const float  pT[4],
const float  pQ[4],
const float  pS[4],
int  pInverse 
)

HIKCharacterState のすべてのノードの現在のトランスレーション、回転、およびスケールを pT、pQ、および pS と Pre Multiply します。

パラメータ:
pCharacterHIKCharacter: 変更対象のキャラクタ
pCharacterStateHIKCharacterState: Pre Rotation で変更されたポーズを含みます。
pTPre Multiply されるグローバルトランスレーション
pQPre Multiply されるグローバル回転
pSPre Multiply されるグローバル スケール
pInverse1 に設定すると、逆方向の Pre Multiply が実行されます。
void HIKPasteState ( HIKCharacter pCharacter,
HIKCharacterState pOutputState,
HIKCharacterState pCurrentState,
HIKCharacter pFromCharacter,
HIKCharacterState pFromState,
HIKPropertySetState pFilterSet,
HIKPropertySetState pFromFilterSet,
double  pHipsOffsetGX[16] 
)

HIKCharacterState pFromStateHIKCharacterpFromCharacter についてコピーし、pOutputState に貼り付けて、さまざまな HIKCharacter に使用します。

パラメータ:
pCharacterHIKCharacter: 貼り付けされた HIKCharacterState を使用します。
[out]pOutputStateHIKCharacterState: pFromState から貼り付けされたポーズを含みます。
pCurrentStatepCharacter の現在のポーズ
pFromCharacterHIKCharacterpFromState に一致するもの
pFromState貼り付け対象の HIKCharacterState
pFilterSetHIKPropertySetState: pCharacter に対応します。
pFromFilterSetHIKPropertySetState: pFromCharacter に対応します。
pHipsOffsetGXグローバル スペースで表現されヒップに適用されるオフセット(ある場合)
void HIKQTransform ( const float  quat[4],
const float  p[4],
float  q[4] 
)

クォータニオンによって変換されたポイントの結果を計算します。

void HIKRelaxState ( const HIKCharacter pCharacter,
HIKCharacterState pState,
float  pX,
float  pY,
float  pZ 
)

HIKCharacterState pState に含まれるポーズをキャラクタ向けに内部的に生成されたデフォルトの "リラックス ポーズ" とブレンドします。

この関数は、HIKCharacterpCharacter: の "リラックス ポーズ"(すべての手足が最小範囲と最大範囲の中間で回転するポーズ)を生成します。 このリラックス ポーズは、pState で提供されるポーズとブレンドされます。

各軸に沿ったブレンドの相対的なウェイトは、pXpY、および pZ で制御されます。これらのパラメータの値に 0 を設定すると、ブレンドは完全に pState に重み付けされます。値に 1.0f を設定すると、ブレンドは完全にリラックス ポーズに重み付けされます。中間の値に設定すると、結果となる位置は pState とリラックス ポーズの間になります。

パラメータ:
pCharacterHIKCharacterpState に一致するもの
[in,out]pStateリラックス ポーズを含む HIKCharacterState
pXpState とリラックス ポーズの間の X 軸の相対的なウェイト
pYpState とリラックス ポーズの間の Y 軸の相対的なウェイト
pZpState とリラックス ポーズの間の Z 軸の相対的なウェイト
void HIKSetEffectorPullResistFromPropertyState ( HIKEffectorSetState pEffectorSetState,
const HIKPropertySetState pPropertySetState 
)

Pull と Resist のプロパティを HIKPropertySetStatepPropertySetState から HIKEffectorSetStatepEffectorSetState に転送します。

パラメータ:
pEffectorSetStateHIKEffectorSetState
pPropertySetStateHIKPropertySetState