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 pStateIn1 と HIKCharacterState pStateIn2 との間で一次的なブレンドを実行します。表示... | |
| void | HIKCharacterStateCopy (HIKCharacterState *pStateOut, const HIKCharacterState *pStateIn) |
HIKCharacterState を pStateIn から 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 pFromState を HIKCharacterpFromCharacter についてコピーし、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 のキャラクタに有効な位置を作成します。
| pCharacter | HIKCharacter で pState に一致するもの | |
| [in,out] | pState | HIKCharacterState: 変更対象のポーズを含みます。 |
| 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 コンストレイント値に対してウェイト付けされる最終ソリューションの数が増えます。
| pEffectorSetState | HIKEffectorSetState: 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 コンストレイント値に対してウェイト付けされる最終ソリューションの数が増えます。
| pEffectorSetState | HIKEffectorSetState: pEffectorId を含みます。 |
| pEffectorId | ブレンドするエフェクタの固有の ID |
| pT | エフェクタとブレンドする異なったトランスレーション値を含む配列 |
| pQ | エフェクタとブレンドする異なった回転値を含むクォータニオンの配列 |
| pS | エフェクタとブレンドする異なったスケール値を含む配列 |
| pIKPivotArray | エフェクタとブレンドする IK ピボットの配列。この配列の値を 0.0f に設定すると、IK ピボットのないエフェクタの TQS の値と IK コンストレイント値をブレンドできます。 |
| pReachTArray | エフェクタに提供されたトランスレーション値の相対的なウェイトを制御する配列 |
| pReachRArray | エフェクタに提供された向きの値の相対的なウェイトを制御する配列 |
| pPivotCount | TQS の値のセットと IK コンストレイント値の総数(つまり、pT, pQ パラメータ、pT パラメータ、pIKPivotArray パラメータ、pReachTArray パラメータ、および pReachRArray パラメータの長さ) |
この関数は、浮動小数値を内部的に倍精度に変換します。浮動小数点値が使用できない場合のみ使用します。最高のパフォーマンスを得るには、できる限り代わりに、HIKSetEffectorPivotStateTQSfv() 関数を使用してください。
| void HIKBlendState | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pStateOut, | ||
| HIKCharacterState const * | pStateIn1, | ||
| HIKCharacterState const * | pStateIn2, | ||
| float | blendFactor | ||
| ) |
HIKCharacterState pStateIn1 と HIKCharacterState pStateIn2 との間で一次的なブレンドを実行します。
| pCharacter | HIKCharacter: ブレンドの実行対象 | |
| [out] | pStateOut | HIKCharacterState: ブレンドされたポーズを含みます。 |
| pStateIn1 | HIKCharacterState 1 | |
| pStateIn2 | HIKCharacterState 2 | |
| blendFactor | ブレンド係数。このパラメータの値は 0~1 にする必要があります。ここで、小さい方の値では HIKCharacterState 1 が優先され、大きい方の値では HIKCharacterState 2 が優先されます。値が 0.5 の場合、2 つの状態は均等にブレンドされます。 |
| void HIKCharacterStateCopy | ( | HIKCharacterState * | pStateOut, |
| const HIKCharacterState * | pStateIn | ||
| ) |
HIKCharacterState を pStateIn から pStateOut にコピーします。
| [out] | pStateOut | 出力 HIKCharacterState |
| pStateIn | 入力 HIKCharacterState |
| int HIKEffectorIdFromEffectorName | ( | const char * | pName | ) |
説明的な名前からエフェクタ ID を取得します。これは FBX と HIK とをマッピングするユーティリティ関数です。
| pName | エフェクタの説明的な名前。HIKEffectorNameFromEffectorId() によって返された値と一致する必要があります。 |
| const char* HIKEffectorNameFromEffectorId | ( | int | pEffectorId | ) |
エフェクタ pEffectorId の説明的な名前を取得します。これは FBX と HIK とをマッピングするユーティリティ関数です。
| pEffectorId | エフェクタの固有の ID。可能な値については、HIKEffectorId 列挙を参照してください。 |
| void HIKEffectorStatePostMultdv | ( | HIKEffectorSetState * | pEffectorSetState, |
| int | pEffectorIndex, | ||
| const double | pXForm[16], | ||
| int | pInverse | ||
| ) |
エフェクタ pEffectorIndex の現在のトランスレーション、回転、およびスケールを pXForm と Post Multiply します。
| pEffectorSetState | HIKEffectorSetState |
| pEffectorIndex | 変換行列が Post Multiply されるエフェクタのインデックス可能な値については、HIKEffectorId 列挙を参照してください。 |
| pXForm | Post Multiply される変換行列 |
| pInverse | 1 に設定すると、逆方向の Post Multiply が実行されます。 |
| void HIKEffectorStatePostMultfv | ( | HIKEffectorSetState * | pEffectorSetState, |
| int | pEffectorIndex, | ||
| const float | pXForm[16], | ||
| int | pInverse | ||
| ) |
エフェクタ pEffectorIndex の現在のトランスレーション、回転、およびスケールを pXForm と Post Multiply します。
| pEffectorSetState | HIKEffectorSetState |
| pEffectorIndex | 変換行列が Post Multiply されるエフェクタのインデックス可能な値については、HIKEffectorId 列挙を参照してください。 |
| pXForm | Post Multiply される変換行列 |
| pInverse | 1 に設定すると、逆方向の 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 します。
| pEffectorSetState | HIKEffectorSetState |
| pEffectorIndex | 変換行列が Post Multiply されるエフェクタのインデックス可能な値については、HIKEffectorId 列挙を参照してください。 |
| pT | Post Multiply されるグローバルトランスレーション |
| pQ | Post Multiply されるグローバル回転 |
| pS | Post Multiply されるグローバル スケール |
| pInverse | 1 に設定すると、逆方向の 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 します。
| pEffectorSetState | HIKEffectorSetState |
| pEffectorIndex | 変換行列が Post Multiply されるエフェクタのインデックス可能な値については、HIKEffectorId 列挙を参照してください。 |
| pT | Post Multiply されるグローバルトランスレーション |
| pQ | Post Multiply されるグローバル回転 |
| pS | Post Multiply されるグローバル スケール |
| pInverse | 1 に設定すると、逆方向の 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 列挙を参照してください。 | |
| pCharacter | HIKCharacter: 取得対象 | |
| pCharacterState | HIKCharacterState: ここからエフェクタの配置を取得します。 | |
| pPropertyState | HIKPropertySetState: キャラクタのすべてのキャラクタ プロパティを含みます。 | |
| [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 スタンス)に含まれる回転およびスケール オフセットをエフェクタの最終回転に適用します。
| pEffectorIndex | TQS の値を取得するエフェクタの固有の ID。可能な値については、HIKEffectorId 列挙を参照してください。 | |
| pCharacter | HIKCharacter: 取得対象 | |
| pCharacterState | HIKCharacterState: ここからエフェクタの配置を取得します。 | |
| pPropertyState | HIKPropertySetState: キャラクタのすべてのキャラクタ プロパティを含みます。 | |
| [out] | pT | トランスレーション値を保存します。 |
| [out] | pQ | 向きの値を保存します。 |
| [out] | pS | スケール値を保存します。 |
この関数は、浮動小数値を内部的に倍精度に変換します。浮動小数点値が使用できない場合のみ使用します。最高のパフォーマンスを得るには、できる限り代わりに、HIKSetEffectorPivotStateTQSfv() 関数を使用してください。
| int HIKGetChildNodeCount | ( | const HIKCharacter * | pCharacter, |
| int | pParentNodeId | ||
| ) |
親ノード pParentNodeId と関連付けられた子ノードの数を取得します。
| pCharacter | HIKCharacter |
| pParentNodeId | 親ノードの ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| int HIKGetChildNodeId | ( | const HIKCharacter * | pCharacter, |
| int | pParentNodeId, | ||
| int | pChildIndex | ||
| ) |
インデックス pChildIndex を親ノード pParentNodeId に対して持つ子ノードを取得します。
| pCharacter | HIKCharacter |
| pParentNodeId | 親ノードの ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| pChildIndex | 子のインデックス。値は 0 と HIKGetChildNodeCount() によってその親ノード向けに返される値の間である必要があります。 |
| 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 の親ノードを取得します。
| pCharacter | HIKCharacter |
| pChildNodeId | 子ノードの ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| void HIKMirrorState | ( | HIKCharacter * | pCharacter, |
| HIKCharacterState * | pMirrorState, | ||
| HIKCharacterState * | pFromState, | ||
| HIKCharacter * | pFromCharacter, | ||
| double | pMirrorGQ[4] | ||
| ) |
HIKCharacterState pFromState に含まれるポーズを pMirrorGQ によって向きが定義されたプレーンに反映します。
| pCharacter | HIKCharacter: 反映された HIKCharacterState を使用します。 | |
| [out] | pMirrorState | HIKCharacterState: pFromState から反映されたポーズを含みます。 |
| pFromState | 反映対象の HIKCharacterState | |
| pFromCharacter | HIKCharacter で pFromState に一致するもの | |
| pMirrorGQ | クォータニオンとして表現されたミラー プレーンの向き |
| int HIKNodeIdFromNodeName | ( | const char * | pName | ) |
説明的な名前からノード ID を取得します。これは FBX と HIK とをマッピングするユーティリティ関数です。
| pName | ノードの説明的な名前。HIKNodeNameFromNodeId() によって返された値と一致する必要があります。 |
| const char* HIKNodeNameFromNodeId | ( | int | pNodeId | ) |
ノード pNodeId の説明的な名前を取得します。これは FBX と HIK とをマッピングするユーティリティ関数です。
| pNodeId | ノードの固有の ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| 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 します。
| pCharacter | HIKCharacter: 変更対象のキャラクタ |
| pCharacterState | HIKCharacterState: Pre Rotation で変更されたポーズを含みます。 |
| pNodeId | 変換行列が Pre Multiply されるノードのインデックス。可能な値については、HIKNodeId 列挙を参照してください。 |
| pT | Pre Multiply されるグローバルトランスレーション |
| pQ | Pre Multiply されるグローバル回転 |
| pS | Pre Multiply されるグローバル スケール |
| pInverse | 1 に設定すると、逆方向の 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 します。
| pCharacter | HIKCharacter: 変更対象のキャラクタ |
| pCharacterState | HIKCharacterState: Pre Rotation で変更されたポーズを含みます。 |
| pNodeId | 変換行列が Pre Multiply されるノードのインデックス。可能な値については、HIKNodeId 列挙を参照してください。 |
| pT | Pre Multiply されるグローバルトランスレーション |
| pQ | Pre Multiply されるグローバル回転 |
| pS | Pre Multiply されるグローバル スケール |
| pInverse | 1 に設定すると、逆方向の 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 します。
| pCharacter | HIKCharacter: 変更対象のキャラクタ |
| pCharacterState | HIKCharacterState: Pre Rotation で変更されたポーズを含みます。 |
| pT | Pre Multiply されるグローバルトランスレーション |
| pQ | Pre Multiply されるグローバル回転 |
| pS | Pre Multiply されるグローバル スケール |
| pInverse | 1 に設定すると、逆方向の 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 します。
| pCharacter | HIKCharacter: 変更対象のキャラクタ |
| pCharacterState | HIKCharacterState: Pre Rotation で変更されたポーズを含みます。 |
| pT | Pre Multiply されるグローバルトランスレーション |
| pQ | Pre Multiply されるグローバル回転 |
| pS | Pre Multiply されるグローバル スケール |
| pInverse | 1 に設定すると、逆方向の Pre Multiply が実行されます。 |
| void HIKPasteState | ( | HIKCharacter * | pCharacter, |
| HIKCharacterState * | pOutputState, | ||
| HIKCharacterState * | pCurrentState, | ||
| HIKCharacter * | pFromCharacter, | ||
| HIKCharacterState * | pFromState, | ||
| HIKPropertySetState * | pFilterSet, | ||
| HIKPropertySetState * | pFromFilterSet, | ||
| double | pHipsOffsetGX[16] | ||
| ) |
HIKCharacterState pFromState を HIKCharacterpFromCharacter についてコピーし、pOutputState に貼り付けて、さまざまな HIKCharacter に使用します。
| pCharacter | HIKCharacter: 貼り付けされた HIKCharacterState を使用します。 | |
| [out] | pOutputState | HIKCharacterState: pFromState から貼り付けされたポーズを含みます。 |
| pCurrentState | pCharacter の現在のポーズ | |
| pFromCharacter | HIKCharacter で pFromState に一致するもの | |
| pFromState | 貼り付け対象の HIKCharacterState | |
| pFilterSet | HIKPropertySetState: pCharacter に対応します。 | |
| pFromFilterSet | HIKPropertySetState: 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 で提供されるポーズとブレンドされます。
各軸に沿ったブレンドの相対的なウェイトは、pX、pY、および pZ で制御されます。これらのパラメータの値に 0 を設定すると、ブレンドは完全に pState に重み付けされます。値に 1.0f を設定すると、ブレンドは完全にリラックス ポーズに重み付けされます。中間の値に設定すると、結果となる位置は pState とリラックス ポーズの間になります。
| pCharacter | HIKCharacter で pState に一致するもの | |
| [in,out] | pState | リラックス ポーズを含む HIKCharacterState |
| pX | pState とリラックス ポーズの間の X 軸の相対的なウェイト | |
| pY | pState とリラックス ポーズの間の Y 軸の相対的なウェイト | |
| pZ | pState とリラックス ポーズの間の Z 軸の相対的なウェイト |
| void HIKSetEffectorPullResistFromPropertyState | ( | HIKEffectorSetState * | pEffectorSetState, |
| const HIKPropertySetState * | pPropertySetState | ||
| ) |
Pull と Resist のプロパティを HIKPropertySetStatepPropertySetState から HIKEffectorSetStatepEffectorSetState に転送します。
| pEffectorSetState | HIKEffectorSetState |
| pPropertySetState | HIKPropertySetState |