このセクションでは、HIKCharacterState へのデータの書き込みに使用する関数について説明します。
これらの関数はすべて translation.w = 0.f と scale.w = 1.f をマスキングします。
関数 | |
| void | HIKSetCharacterStateTransform (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKDataDescriptionMatrix *pDataDescription, const void *pDataSet) |
データ セット pDataSet から、データ デスクリプション pDataDescription に従って解釈された、複数ノードの変換行列を設定します。表示... | |
| void | HIKSetCharacterStateTransformTQ (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKDataDescription *pDataDescription, const void *pDataSet) |
データ セット pDataSet から、データ デスクリプション pDataDescription に従って解釈された、複数ノードのトランスレーション(T)およびクォータニオン回転(Q)を設定します。表示... | |
| void | HIKSetCharacterStateTransformTQS (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKDataDescription *pDataDescription, const void *pDataSet) |
データ セット pDataSet から、データ デスクリプション pDataDescription に従って解釈された、複数ノードのトランスレーション(T)、クォータニオン回転(Q)、およびスケール(S)を設定します。表示... | |
| void | HIKSetCharacterStateTransformTQS_SoA (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKDataDescription *pDataDescription, const void *pDataSet) |
データ セット pDataSet から、データ デスクリプション pDataDescription に従って解釈された、複数ノードのトランスレーション(T)、クォータニオン回転(Q)、およびスケール(S)を設定します。表示... | |
| void | HIKSetNodeNormalizedStatedv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const double pXForm[16]) |
キャラクタのキャラクタライゼーション ポーズ(キャラクタのデフォルトの T スタンス)に含まれる回転およびスケール オフセットを適用せずに、ノード pNodeId の変換行列を HIKCharacterState pCharacterState で設定します。表示... | |
| void | HIKSetNodeNormalizedStatefv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float pXForm[16]) |
キャラクタのキャラクタライゼーション ポーズ(キャラクタのデフォルトの T スタンス)に含まれる回転およびスケール オフセットを適用せずに、ノード pNodeId の変換行列を HIKCharacterState pCharacterState で設定します。表示... | |
| void | HIKSetNodeNormalizedStateTQSdv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const double pT[4], const double pQ[4], const double pS[4]) |
キャラクタのキャラクタライゼーション ポーズ(キャラクタのデフォルトの T スタンス)に含まれる回転およびスケール オフセットを適用せずに、グローバル スペースでノード pNodeId のトランスレーション値(T)、クォータニオン回転値(Q)、およびスケール値(S)を HIKCharacterState pCharacterState で設定します。表示... | |
| void | HIKSetNodeNormalizedStateTQSfv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float pT[4], const float pQ[4], const float pS[4]) |
キャラクタのキャラクタライゼーション ポーズ(キャラクタのデフォルトの T スタンス)に含まれる回転およびスケール オフセットを適用せずに、グローバル スペースでノード pNodeId のトランスレーション値(T)、クォータニオン回転値(Q)、およびスケール値(S)を HIKCharacterState pCharacterState で設定します。表示... | |
| void | HIKSetNodeStatedv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const double pXForm[16]) |
ノード pNodeId の変換行列を HIKCharacterState pCharacterState で設定します。表示... | |
| void | HIKSetNodeStatefv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float pXForm[16]) |
ノード pNodeId の変換行列を HIKCharacterState pCharacterState で設定します。表示... | |
| void | HIKSetNodeStateTQAlignfv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float *pTQ, size_t pTOffset, size_t pQOffset) |
ノード pNodeId のグローバル スペースでのトランスレーション(T)およびクォータニオン回転(Q)を HIKCharacterState pCharacterState で設定します。 値は単一の配列内で指定したオフセットから読み取られます。表示... | |
| void | HIKSetNodeStateTQfv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float pT[4], const float pQ[4]) |
ノード pNodeId のグローバル スペースでのトランスレーション(T)およびクォータニオン回転(Q)を HIKCharacterState pCharacterState で設定します。 値は個別の配列を使用して表されます。表示... | |
| void | HIKSetNodeStateTQNonUniformSfv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float pT[4], const float pQ[4], const float pS[4]) |
ノード pNodeId のグローバル スペースでのトランスレーション(T)、クォータニオン回転(Q)、および不均等スケール(S)を HIKCharacterState pCharacterState で設定します。 値は個別の配列を使用して表されます。表示... | |
| void | HIKSetNodeStateTQSAlignfv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float *pTQS, size_t pTOffset, size_t pQOffset, size_t pSOffset) |
ノード pNodeId のグローバル スペースでのトランスレーション(T)、クォータニオン回転(Q)、およびスケール(S)を HIKCharacterState pCharacterState で設定します。 値は単一の配列内で指定したオフセットから読み取られます。表示... | |
| void | HIKSetNodeStateTQSdv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const double pT[4], const double pQ[4], const double pS[4]) |
ノード pNodeId のグローバル スペースでのトランスレーション(T)、クォータニオン回転(Q)、およびスケール(S)を HIKCharacterState pCharacterState で設定します。 値は個別の配列を使用して表されます。表示... | |
| void | HIKSetNodeStateTQSfv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float pT[4], const float pQ[4], const float pS[4]) |
ノード pNodeId のグローバル スペースでのトランスレーション(T)、クォータニオン回転(Q)、およびスケール(S)を HIKCharacterState pCharacterState で設定します。 値は個別の配列を使用して表されます。表示... | |
| void | HIKSetNodeStateTQSfvComputeDependent (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float *pT, const float *pQ, const float *pS, const bool pLocal) |
ノード pNodeId のグローバルまたはローカル スペースでのトランスレーション(T)、クォータニオン回転(Q)、スケール(S)を HIKCharacterState pCharacterState で設定します。値は個別の配列を使用して表され、従属ノードを更新します。表示... | |
| void | HIKSetNormalizedCharacterStateTransformTQS (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKDataDescription *pDataDescription, const void *pDataSet) |
キャラクタのキャラクタライゼーション ポーズ(キャラクタのデフォルトの T スタンス)に含まれる回転およびスケール オフセットを適用せずに、データ デスクリプション pDataDescription に一覧表示されたすべてのノードについてグローバル スペースでトランスレーション値(T)、クォータニオン回転値(Q)、およびスケール値(S)を設定します。表示... | |
| void HIKSetCharacterStateTransform | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| const HIKDataDescriptionMatrix * | pDataDescription, | ||
| const void * | pDataSet | ||
| ) |
データ セット pDataSet から、データ デスクリプション pDataDescription に従って解釈された、複数ノードの変換行列を設定します。
この関数は、HIKSetNodeStateTQS() などの関数を使用して、個別に各ノードのデータを設定するよりも迅速に処理できます。
| pCharacter | HIKCharacter: データ値の設定対象 |
| pCharacterState | HIKCharacterState: データ値の設定場所 |
| pDataDescription | データ セットのメモリ レイアウトを定義するデータ デスクリプション |
| pDataSet | 最初のデータ ブロックの先頭への void ポインタ |
| void HIKSetCharacterStateTransformTQ | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| const HIKDataDescription * | pDataDescription, | ||
| const void * | pDataSet | ||
| ) |
データ セット pDataSet から、データ デスクリプション pDataDescription に従って解釈された、複数ノードのトランスレーション(T)およびクォータニオン回転(Q)を設定します。
この関数は、すべての軸の 1.0f に対するスケール値を設定します。
この関数は、HIKSetNodeStateTQS() などの関数を使用して、個別に各ノードのデータを設定するよりも迅速に処理できます。
| pCharacter | HIKCharacter: データ値の設定対象 |
| pCharacterState | HIKCharacterState: データ値の設定場所 |
| pDataDescription | データ セットのメモリ レイアウトを定義するデータ デスクリプション |
| pDataSet | 最初のデータ ブロックの先頭への void ポインタ |
| void HIKSetCharacterStateTransformTQS | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| const HIKDataDescription * | pDataDescription, | ||
| const void * | pDataSet | ||
| ) |
データ セット pDataSet から、データ デスクリプション pDataDescription に従って解釈された、複数ノードのトランスレーション(T)、クォータニオン回転(Q)、およびスケール(S)を設定します。
この関数は、HIKSetNodeStateTQS() などの関数を使用して、個別に各ノードのデータを設定するよりも迅速に処理できます。
| pCharacter | HIKCharacter: データ値の設定対象 |
| pCharacterState | HIKCharacterState: データ値の設定場所 |
| pDataDescription | データ セットのメモリ レイアウトを定義するデータ デスクリプション |
| pDataSet | 最初のデータ ブロックの先頭への void ポインタ |
| void HIKSetCharacterStateTransformTQS_SoA | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| const HIKDataDescription * | pDataDescription, | ||
| const void * | pDataSet | ||
| ) |
データ セット pDataSet から、データ デスクリプション pDataDescription に従って解釈された、複数ノードのトランスレーション(T)、クォータニオン回転(Q)、およびスケール(S)を設定します。
この SoA 関数を使用すると、各データ ブロックは 1 つのノードのみのデータを含めるのではなく、4 つのノードのデータをインターリーブします。この形式の使用を選択すると、データ デスクリプションのオフセットで、各データ ブロック内のベクトルの最初のトランスレーション、向き、およびスケールの場所を指定する必要があります。HumanIK は、これらのオフセットから開始して、4 つのノードすべての値を読み込みます。
この関数は、HIKSetNodeStateTQS() などの関数を使用して、個別に各ノードのデータを設定するよりも迅速に処理できます。
| pCharacter | HIKCharacter: データ値の設定対象 |
| pCharacterState | HIKCharacterState: データ値の設定場所 |
| pDataDescription | データ セットのメモリ レイアウトを定義するデータ デスクリプション |
| pDataSet | 最初のデータ ブロックの先頭への void ポインタ |
| void HIKSetNodeNormalizedStatedv | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| int | pNodeId, | ||
| const double | pXForm[16] | ||
| ) |
キャラクタのキャラクタライゼーション ポーズ(キャラクタのデフォルトの T スタンス)に含まれる回転およびスケール オフセットを適用せずに、ノード pNodeId の変換行列を HIKCharacterState pCharacterState で設定します。
キャラクタのキャラクタライゼーション ポーズに回転またはスケール オフセットが含まれていない場合、この関数を使用して FK アニメーションからノードの TQS の値を取得できます。この関数は、HIKSetNodeStatefv() より迅速に処理できます。
| pCharacter | HIKCharacter: パラメータ pCharacterState で指定した HIKCharacterState の作成に使用します。 |
| pCharacterState | HIKCharacterState |
| pNodeId | 行列を設定するノードのインデックス。可能な値については、HIKNodeId 列挙を参照してください。 |
| pXForm | ノードに設定する変換行列 |
この関数は、浮動小数値を内部的に倍精度に変換します。浮動小数点値が使用できない場合のみ使用します。最高のパフォーマンスを得るには、できる限り代わりに HIKSetNodeNormalizedStatefv() 関数を使用します。
| void HIKSetNodeNormalizedStatefv | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| int | pNodeId, | ||
| const float | pXForm[16] | ||
| ) |
キャラクタのキャラクタライゼーション ポーズ(キャラクタのデフォルトの T スタンス)に含まれる回転およびスケール オフセットを適用せずに、ノード pNodeId の変換行列を HIKCharacterState pCharacterState で設定します。
キャラクタのキャラクタライゼーション ポーズに回転またはスケール オフセットが含まれていない場合、この関数を使用して FK アニメーションからノードの TQS の値を取得できます。この関数は、HIKSetNodeStatefv() より迅速に処理できます。
| pCharacter | HIKCharacter: パラメータ pCharacterState で指定した HIKCharacterState の作成に使用します。 |
| pCharacterState | HIKCharacterState |
| pNodeId | 行列を設定するノードのインデックス。可能な値については、HIKNodeId 列挙を参照してください。 |
| pXForm | ノードに設定する変換行列 |
| void HIKSetNodeNormalizedStateTQSdv | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| int | pNodeId, | ||
| const double | pT[4], | ||
| const double | pQ[4], | ||
| const double | pS[4] | ||
| ) |
キャラクタのキャラクタライゼーション ポーズ(キャラクタのデフォルトの T スタンス)に含まれる回転およびスケール オフセットを適用せずに、グローバル スペースでノード pNodeId のトランスレーション値(T)、クォータニオン回転値(Q)、およびスケール値(S)を HIKCharacterState pCharacterState で設定します。
キャラクタのキャラクタライゼーション ポーズに回転またはスケール オフセットが含まれていない場合、この関数を使用して FK アニメーションからノードの TQS の値を取得できます。この関数は、HIKSetNodeStateTQSfv() より迅速に処理できます。
| pCharacter | HIKCharacter: パラメータ pCharacterState で指定した HIKCharacterState の作成に使用します。 |
| pCharacterState | HIKCharacterState |
| pNodeId | TQS の値を設定するノードのインデックス。可能な値については、HIKNodeId 列挙を参照してください。 |
| pT | ノードに設定されたグローバルトランスレーション値 |
| pQ | ノードに設定されたグローバル回転値 |
| pS | ノードに設定されたグローバル スケール値 |
この関数は、浮動小数値を内部的に倍精度に変換します。浮動小数点値が使用できない場合のみ使用します。最高のパフォーマンスを得るには、できる限り代わりに HIKSetNodeNormalizedStateTQSfv() 関数を使用してください。
| void HIKSetNodeNormalizedStateTQSfv | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| int | pNodeId, | ||
| const float | pT[4], | ||
| const float | pQ[4], | ||
| const float | pS[4] | ||
| ) |
キャラクタのキャラクタライゼーション ポーズ(キャラクタのデフォルトの T スタンス)に含まれる回転およびスケール オフセットを適用せずに、グローバル スペースでノード pNodeId のトランスレーション値(T)、クォータニオン回転値(Q)、およびスケール値(S)を HIKCharacterState pCharacterState で設定します。
キャラクタのキャラクタライゼーション ポーズに回転またはスケール オフセットが含まれていない場合、この関数を使用して FK アニメーションからノードの TQS の値を取得できます。この関数は、HIKSetNodeStateTQSfv() より迅速に処理できます。
| pCharacter | HIKCharacter: パラメータ pCharacterState で指定した HIKCharacterState の作成に使用します。 |
| pCharacterState | HIKCharacterState |
| pNodeId | TQS の値を設定するノードのインデックス。可能な値については、HIKNodeId 列挙を参照してください。 |
| pT | ノードに設定されたグローバルトランスレーション値 |
| pQ | ノードに設定されたグローバル回転値 |
| pS | ノードに設定されたグローバル スケール値 |
| void HIKSetNodeStatedv | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| int | pNodeId, | ||
| const double | pXForm[16] | ||
| ) |
ノード pNodeId の変換行列を HIKCharacterState pCharacterState で設定します。
| pCharacter | HIKCharacter: 行列の設定対象 |
| pCharacterState | HIKCharacterState: 行列の設定場所 |
| pNodeId | 行列を設定するノードの固有の ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| pXForm | グローバル スペースで設定する変換行列(4x4 column major matrix) |
この関数は、浮動小数値を内部的に倍精度に変換します。浮動小数点値が使用できない場合のみ使用します。最高のパフォーマンスを得るには、できる限り代わりに HIKSetNodeStatefv() 関数を使用します。
| void HIKSetNodeStatefv | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| int | pNodeId, | ||
| const float | pXForm[16] | ||
| ) |
ノード pNodeId の変換行列を HIKCharacterState pCharacterState で設定します。
| pCharacter | HIKCharacter: 行列の設定対象 |
| pCharacterState | HIKCharacterState: 行列の設定場所 |
| pNodeId | 行列を設定するノードの固有の ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| pXForm | グローバル スペースで設定する変換行列(4x4 column major matrix) |
| void HIKSetNodeStateTQAlignfv | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| int | pNodeId, | ||
| const float * | pTQ, | ||
| size_t | pTOffset, | ||
| size_t | pQOffset | ||
| ) |
ノード pNodeId のグローバル スペースでのトランスレーション(T)およびクォータニオン回転(Q)を HIKCharacterState pCharacterState で設定します。 値は単一の配列内で指定したオフセットから読み取られます。
この関数は、すべての軸の 1.0f に対するスケール値を設定します。
T と Q の値は、それぞれ pTQ 配列内の 4 つの浮動小数値の配列として表現されることを想定しており、これらの各配列のオフセットは 16 バイトでアラインする必要があります。T と Q の値を含む配列は、大きな配列内で任意の順序にできます。たとえば、クォータニオン回転データのオフセットは、トランスレーションデータのオフセットより小さい可能性があります。pTQ 配列には、便宜上、T と Q の値を含む配列間に混在するその他の任意のデータ値も含まれる場合があります。
| pCharacter | HIKCharacter: トランスレーション値と回転値の設定対象 |
| pCharacterState | HIKCharacterState: トランスレーション値と回転値の設定場所 |
| pNodeId | TQ の値を設定するノードの固有の ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| pTQ | ノードの目的のトランスレーション値および回転値を含む浮動小数値の配列へのポインタ。この配列は 16 バイトでアラインする必要があります。 |
| pTOffset | pTQ 配列内のトランスレーション値のオフセット。このオフセットは、16 バイトでアラインされる必要があります。 |
| pQOffset | pTQ 配列内の回転値のオフセット。このオフセットは、16 バイトでアラインされる必要があります。 |
| void HIKSetNodeStateTQfv | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| int | pNodeId, | ||
| const float | pT[4], | ||
| const float | pQ[4] | ||
| ) |
ノード pNodeId のグローバル スペースでのトランスレーション(T)およびクォータニオン回転(Q)を HIKCharacterState pCharacterState で設定します。 値は個別の配列を使用して表されます。
この関数は、すべての軸の 1.0f に対するスケール値を設定します。
| pCharacter | HIKCharacter: データ値の設定対象 |
| pCharacterState | HIKCharacterState: データ値の設定場所 |
| pNodeId | データを設定するノードの固有の ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| pT | グローバル スペースで設定したトランスレーション値 |
| pQ | グローバル スペースで設定した回転値 |
| void HIKSetNodeStateTQNonUniformSfv | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| int | pNodeId, | ||
| const float | pT[4], | ||
| const float | pQ[4], | ||
| const float | pS[4] | ||
| ) |
ノード pNodeId のグローバル スペースでのトランスレーション(T)、クォータニオン回転(Q)、および不均等スケール(S)を HIKCharacterState pCharacterState で設定します。 値は個別の配列を使用して表されます。
この関数を使用すると、X、Y および Z 軸に異なるスケール値を指定できます。
| pCharacter | HIKCharacter: トランスレーション値、回転値、およびスケール値の設定対象 |
| pCharacterState | HIKCharacterState: トランスレーション値、回転値、およびスケール値の設定場所 |
| pNodeId | データを設定するノードの固有の ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| pT | グローバル スペースで設定したトランスレーション値 |
| pQ | グローバル スペースで設定した回転値 |
| pS | グローバル スペースで設定したスケール値 |
| void HIKSetNodeStateTQSAlignfv | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| int | pNodeId, | ||
| const float * | pTQS, | ||
| size_t | pTOffset, | ||
| size_t | pQOffset, | ||
| size_t | pSOffset | ||
| ) |
ノード pNodeId のグローバル スペースでのトランスレーション(T)、クォータニオン回転(Q)、およびスケール(S)を HIKCharacterState pCharacterState で設定します。 値は単一の配列内で指定したオフセットから読み取られます。
T、Q、および S の値は、それぞれ pTQS 配列内の 4 つの浮動小数値の配列として表現されることを想定しており、これらの各配列のオフセットは 16 バイトでアラインする必要があります。T、Q および S の値を含む配列は、大きな配列内で任意の順序にできます。たとえば、スケール データのオフセットは、トランスレーションデータのオフセットより小さい可能性があります。pTQS 配列には、便宜上、T、Q、および S の値を含む配列間に混在するその他の任意のデータ値も含まれる場合があります。
| pCharacter | HIKCharacter: トランスレーション値、回転値、およびスケール値の設定対象 |
| pCharacterState | HIKCharacterState: トランスレーション値、回転値、およびスケール値の設定場所 |
| pNodeId | TQS の値を設定するノードの固有の ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| pTQS | ノードの目的のトランスレーション値、回転値、およびスケール値を含む浮動小数値の配列へのポインタ。この配列は 16 バイトでアラインする必要があります。 |
| pTOffset | pTQS 配列内のトランスレーション値のオフセット。このオフセットは、16 バイトでアラインされる必要があります。 |
| pQOffset | pTQS 配列内の回転値のオフセット。このオフセットは、16 バイトでアラインされる必要があります。 |
| pSOffset | pTQS 配列内のスケール値のオフセット。このオフセットは、16 バイトでアラインされる必要があります。 |
| void HIKSetNodeStateTQSdv | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| int | pNodeId, | ||
| const double | pT[4], | ||
| const double | pQ[4], | ||
| const double | pS[4] | ||
| ) |
ノード pNodeId のグローバル スペースでのトランスレーション(T)、クォータニオン回転(Q)、およびスケール(S)を HIKCharacterState pCharacterState で設定します。 値は個別の配列を使用して表されます。
| pCharacter | HIKCharacter: トランスレーション値、回転値、およびスケール値の設定対象 |
| pCharacterState | HIKCharacterState: トランスレーション値、回転値、およびスケール値の設定場所 |
| pNodeId | データを設定するノードの固有の ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| pT | グローバル スペースで設定したトランスレーション値 |
| pQ | グローバル スペースで設定した回転値 |
| pS | グローバル スペースで設定したスケール値 |
この関数は、浮動小数値を内部的に倍精度に変換します。浮動小数点値が使用できない場合のみ使用します。最高のパフォーマンスを得るには、できる限り代わりに HIKSetNodeStateTQSfv() 関数を使用してください。
| void HIKSetNodeStateTQSfv | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| int | pNodeId, | ||
| const float | pT[4], | ||
| const float | pQ[4], | ||
| const float | pS[4] | ||
| ) |
ノード pNodeId のグローバル スペースでのトランスレーション(T)、クォータニオン回転(Q)、およびスケール(S)を HIKCharacterState pCharacterState で設定します。 値は個別の配列を使用して表されます。
| pCharacter | HIKCharacter: トランスレーション値、回転値、およびスケール値の設定対象 |
| pCharacterState | HIKCharacterState: トランスレーション値、回転値、およびスケール値の設定場所 |
| pNodeId | データを設定するノードの固有の ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| pT | グローバル スペースで設定したトランスレーション値 |
| pQ | グローバル スペースで設定した回転値 |
| pS | グローバル スペースで設定したスケール値 |
| void HIKSetNodeStateTQSfvComputeDependent | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| int | pNodeId, | ||
| const float * | pT, | ||
| const float * | pQ, | ||
| const float * | pS, | ||
| const bool | pLocal | ||
| ) |
ノード pNodeId のグローバルまたはローカル スペースでのトランスレーション(T)、クォータニオン回転(Q)、スケール(S)を HIKCharacterState pCharacterState で設定します。値は個別の配列を使用して表され、従属ノードを更新します。
| pCharacter | HIKCharacter: データ値の設定対象 |
| pCharacterState | HIKCharacterState: データ値の設定場所 |
| pNodeId | データを設定するノードの固有の ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| pT | グローバルまたはローカル スペースで設定したトランスレーション値 |
| pQ | グローバルまたはローカル スペースで設定した回転値 |
| pS | グローバルまたはローカル スペースで設定したスケール値 |
| pLocal | pT、pQ、pS がローカルかどうかを指定します(ローカルでない場合はグローバル) |
| void HIKSetNormalizedCharacterStateTransformTQS | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState, | ||
| const HIKDataDescription * | pDataDescription, | ||
| const void * | pDataSet | ||
| ) |
キャラクタのキャラクタライゼーション ポーズ(キャラクタのデフォルトの T スタンス)に含まれる回転およびスケール オフセットを適用せずに、データ デスクリプション pDataDescription に一覧表示されたすべてのノードについてグローバル スペースでトランスレーション値(T)、クォータニオン回転値(Q)、およびスケール値(S)を設定します。
キャラクタのキャラクタライゼーション ポーズに回転またはスケール オフセットが含まれていない場合、この関数を使用して FK アニメーションからノードの TQS の値を取得できます。この関数は、HIKSetCharacterStateTransformTQS() より速く、HIKSetNodeNormalizedStateTQSfv() への反復的な呼び出しで各ノードから値を個別に設定するより迅速に処理できます。
| pCharacter | HIKCharacter: パラメータ pCharacterState で指定した HIKCharacterState の作成に使用します。 |
| pCharacterState | HIKCharacterState |
| pDataDescription | データ セットのデータ デスクリプション。 |
| pDataSet | 最初のデータ ブロックの先頭への void ポインタ |