このセクションでは、HIKCharacter を設定するのに使用する関数について説明します。
モジュール | |
| Limits (Degrees of Freedom) | |
| このセクションでは、キャラクタの制限(Degrees of Freedom)を設定する関数について説明します。 | |
| Quadrupeds | |
| このセクションでは、Quadruped のキャラクタで使用するユーティリティ関数について説明します。 | |
| Floor Contact | |
| このセクションでは、キャラクタのフロア コンタクトの設定に使用する関数について説明します。 | |
| Character Properties | |
| このセクションでは、HIKPropertySetState 内のキャラクタ プロパティのモードと値の設定および取得用に提供されている関数について説明します。 | |
列挙 | |
| enum | HIKMiddleJoint { HIKLeftKnee = 0, HIKRightKnee, HIKLeftElbow, HIKRightElbow } |
| HIKInverseJoint() 関数を使用して反転できる関節を一覧表示します。表示... | |
関数 | |
| bool | HIKCharacterizeGeometry (HIKCharacter *pCharacter) |
ソルビング用のキャラクタ pCharacter を設定および初期化します。表示... | |
| void | HIKGetCharacterizeNodeStatefv (const HIKCharacter *pCharacter, int pNodeId, float pXForm[16]) |
キャラクタがデフォルトの T スタンスで立っているときに、ノード pNodeId の変換行列を取得します。表示... | |
| void | HIKGetCharacterizeNodeStateTQSdv (const HIKCharacter *pCharacter, int pNodeId, double pT[4], double pQ[4], double pS[4]) |
キャラクタがデフォルトの T スタンスで立っているときに、ノード pNodeId のトランスレーション、方向、およびスケールを取得します。表示... | |
| void | HIKGetCharacterizeNodeStateTQSfv (const HIKCharacter *pCharacter, int pNodeId, float pT[4], float pQ[4], float pS[4]) |
キャラクタがデフォルトの T スタンスで立っているときに、ノード pNodeId のトランスレーション、方向、およびスケールを取得します。表示... | |
| void | HIKGetDefaultState (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState) |
キャラクタ pCharacter のデフォルトの T スタンスを取得し、HIKCharacterState pCharacterState に保存します。 この関数は常に指定したキャラクタの同じスタンスを返します。計算の実行前後でデフォルトのスタンスに違いはありません。表示... | |
| int | HIKGetNodeUse (const HIKCharacter *pCharacter, int pNodeId) |
ノード pNodeId の HIKCharacterpCharacter でのキャラクタライゼーション フラグ セットを取得します。表示... | |
| void | HIKGetParentOffsetdv (const HIKCharacter *pCharacter, int pNodeId, double pParentTOffset[4], double pParentQOffset[4], double pParentSOffset[4]) |
ノード pNodeId のペアレント オフセット セットを取得します。表示... | |
| void | HIKGetParentOffsetfv (const HIKCharacter *pCharacter, int pNodeId, float pParentTOffset[4], float pParentQOffset[4], float pParentSOffset[4]) |
ノード pNodeId のペアレント オフセット セットを取得します。表示... | |
| void | HIKGetRelaxPose (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState) |
キャラクタ pCharacter の基本的な着座ポーズを計算し、HIKCharacterState pCharacterState に保存します。表示... | |
| void | HIKInverseJoint (HIKCharacter *pCharacter, eHIKMiddleJoint pJoint, int pInverse) |
| 膝や肘など、中間の関節が曲がる方向を反転します。表示... | |
| int | HIKIsJointInverted (const HIKCharacter *pCharacter, eHIKMiddleJoint pJoint) |
| 中間の関節が反転されているかどうかを示します。表示... | |
| void | HIKSetCharacterizeNodeStatedv (HIKCharacter *pCharacter, int pNodeId, const double pXForm[16]) |
キャラクタがデフォルトの T スタンスで立っているときに、ノード pNodeId の変換行列を設定します。表示... | |
| void | HIKSetCharacterizeNodeStatefv (HIKCharacter *pCharacter, int pNodeId, const float pXForm[16]) |
キャラクタがデフォルトの T スタンスで立っているときに、ノード pNodeId の変換行列を設定します。表示... | |
| void | HIKSetCharacterizeNodeStateTQSdv (HIKCharacter *pCharacter, int pNodeId, const double pT[4], const double pQ[4], const double pS[4]) |
キャラクタがデフォルトの T スタンスで立っているときに、ノード pNodeId のトランスレーション、方向、およびスケールを設定します。表示... | |
| void | HIKSetCharacterizeNodeStateTQSfv (HIKCharacter *pCharacter, int pNodeId, const float pT[4], const float pQ[4], const float pS[4]) |
キャラクタがデフォルトの T スタンスで立っているときに、ノード pNodeId のトランスレーション、方向、およびスケールを設定します。表示... | |
| void | HIKSetParentOffsetdv (HIKCharacter *pCharacter, int pNodeId, const double pParentTOffset[4], const double pParentQOffset[4], const double pParentSOffset[4]) |
ノード pNodeId のペアレント オフセットを設定します。表示... | |
| void | HIKSetParentOffsetfv (HIKCharacter *pCharacter, int pNodeId, const float pParentTOffset[4], const float pParentQOffset[4], const float pParentSOffset[4]) |
ノード pNodeId のペアレント オフセットを設定します。表示... | |
| enum HIKMiddleJoint |
HIKInverseJoint() 関数を使用して反転できる関節を一覧表示します。
| bool HIKCharacterizeGeometry | ( | HIKCharacter * | pCharacter | ) |
ソルビング用のキャラクタ pCharacter を設定および初期化します。
すべてのキャラクタのノードに対して HIKSetCharacterizeNodeStatefv() を呼び出した後にこの関数を呼び出します。 この関数は、デフォルトのスタンスを確定し、エンジンを調整します。
| pCharacter | 設定および初期化するキャラクタ。 |
false 指定された T スタンスにエラーがある場合は false | void HIKGetCharacterizeNodeStatefv | ( | const HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| float | pXForm[16] | ||
| ) |
キャラクタがデフォルトの T スタンスで立っているときに、ノード pNodeId の変換行列を取得します。
| pCharacter | 取得するキャラクタ |
| pNodeId | 取得するノード可能な値については、HIKNodeId 列挙を参照してください。 |
| pXForm | グローバル スペースのデフォルトの T スタンスでのこのジョイントの変換行列 |
| void HIKGetCharacterizeNodeStateTQSdv | ( | const HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| double | pT[4], | ||
| double | pQ[4], | ||
| double | pS[4] | ||
| ) |
キャラクタがデフォルトの T スタンスで立っているときに、ノード pNodeId のトランスレーション、方向、およびスケールを取得します。
| pCharacter | 取得するキャラクタ |
| pNodeId | 取得するノード可能な値については、HIKNodeId 列挙を参照してください。 |
| pT | グローバル スペースでのこのジョイントのデフォルトのスタンストランスレーション |
| pQ | クォータニオンとして表現された、グローバル スペースでのこのジョイントのデフォルトのスタンスの方向 |
| pS | グローバル スペースでのこのジョイントのデフォルトのスタンス スケール |
| void HIKGetCharacterizeNodeStateTQSfv | ( | const HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| float | pT[4], | ||
| float | pQ[4], | ||
| float | pS[4] | ||
| ) |
キャラクタがデフォルトの T スタンスで立っているときに、ノード pNodeId のトランスレーション、方向、およびスケールを取得します。
| pCharacter | 取得するキャラクタ |
| pNodeId | 取得するノード可能な値については、HIKNodeId 列挙を参照してください。 |
| pT | グローバル スペースでのこのジョイントのデフォルトのスタンストランスレーション |
| pQ | クォータニオンとして表現された、グローバル スペースでのこのジョイントのデフォルトのスタンスの方向 |
| pS | グローバル スペースでのこのジョイントのデフォルトのスタンス スケール |
| void HIKGetDefaultState | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState | ||
| ) |
キャラクタ pCharacter のデフォルトの T スタンスを取得し、HIKCharacterState pCharacterState に保存します。 この関数は常に指定したキャラクタの同じスタンスを返します。計算の実行前後でデフォルトのスタンスに違いはありません。
| pCharacter | デフォルトのスタンスを取得するキャラクタ | |
| [out] | pCharacterState | HIKCharacterState: デフォルトのスタンスを含みます。 |
| int HIKGetNodeUse | ( | const HIKCharacter * | pCharacter, |
| int | pNodeId | ||
| ) |
ノード pNodeId の HIKCharacterpCharacter でのキャラクタライゼーション フラグ セットを取得します。
| pCharacter | キャラクタ |
| pNodeId | フラグを取得するノード ID。可能な値については、HIKNodeId 列挙を参照してください。 |
pNodeId の HIKCharacterpCharacter 内でのステータスを示すビット マスク。 このビット マスクは、HIKNodeFlags 列挙のフラグで構成されます。true になります。true になります。 true になります。 false になります。 | void HIKGetParentOffsetdv | ( | const HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| double | pParentTOffset[4], | ||
| double | pParentQOffset[4], | ||
| double | pParentSOffset[4] | ||
| ) |
ノード pNodeId のペアレント オフセット セットを取得します。
この関数は親ジョイントが HumanIK にとって未知で、ローカル スペースの変換または制限(DoF)を使用している場合のみ必要です。
| pCharacter | 取得するキャラクタ |
| pNodeId | ペアレント オフセットを取得するノード。可能な値については、HIKNodeId 列挙を参照してください。 |
| pParentTOffset | 親ノードのトランスレーションオフセット |
| pParentQOffset | クォータニオンとして表現された親ノードの回転オフセット |
| pParentSOffset | 親ノードのスケール オフセット |
| void HIKGetParentOffsetfv | ( | const HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| float | pParentTOffset[4], | ||
| float | pParentQOffset[4], | ||
| float | pParentSOffset[4] | ||
| ) |
ノード pNodeId のペアレント オフセット セットを取得します。
この関数は親ジョイントが HumanIK にとって未知で、ローカル スペースの変換または制限(DoF)を使用している場合のみ必要です。
| pCharacter | 取得するキャラクタ |
| pNodeId | ペアレント オフセットを取得するノード。可能な値については、HIKNodeId 列挙を参照してください。 |
| pParentTOffset | 親ノードのトランスレーションオフセット |
| pParentQOffset | クォータニオンとして表現された親ノードの回転オフセット |
| pParentSOffset | 親ノードのスケール オフセット |
| void HIKGetRelaxPose | ( | const HIKCharacter * | pCharacter, |
| HIKCharacterState * | pCharacterState | ||
| ) |
キャラクタ pCharacter の基本的な着座ポーズを計算し、HIKCharacterState pCharacterState に保存します。
| pCharacter | 着座ポーズを取得するキャラクタ | |
| [out] | pCharacterState | HIKCharacterState: デフォルトのスタンスを含みます。 |
| void HIKInverseJoint | ( | HIKCharacter * | pCharacter, |
| eHIKMiddleJoint | pJoint, | ||
| int | pInverse | ||
| ) |
膝や肘など、中間の関節が曲がる方向を反転します。
キャラクタのキャラクタライズをプログラムで処理する場合、この関数は HIKCharacterizeGeometry() への呼び出しでキャラクタのジオメトリが確定してからのみ呼び出せます。
| pCharacter | 設定するキャラクタ。 |
| pJoint | 反転するジョイント。可能な値については、HIKMiddleJoint 列挙を参照してください。 |
| pInverse | ジョイントの回転方向を指定します。0 = 正転、その他の任意の値 = 逆回転 |
| int HIKIsJointInverted | ( | const HIKCharacter * | pCharacter, |
| eHIKMiddleJoint | pJoint | ||
| ) |
中間の関節が反転されているかどうかを示します。
キャラクタのキャラクタライズをプログラムで処理する場合、この関数は HIKCharacterizeGeometry() への呼び出しでキャラクタのジオメトリが確定してからのみ呼び出せます。
| pCharacter | ジョイントの反転を取得するキャラクタ |
| pJoint | 反転状態を取得するジョイント。可能な値については、HIKMiddleJoint 列挙を参照してください。 |
| void HIKSetCharacterizeNodeStatedv | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| const double | pXForm[16] | ||
| ) |
キャラクタがデフォルトの T スタンスで立っているときに、ノード pNodeId の変換行列を設定します。
| pCharacter | 設定するキャラクタ。 |
| pNodeId | 設定するノードの固有の ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| pXForm | グローバル スペースでのこのノード向けのデフォルトのスタンス行列(4x4 column major matrix) |
| void HIKSetCharacterizeNodeStatefv | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| const float | pXForm[16] | ||
| ) |
キャラクタがデフォルトの T スタンスで立っているときに、ノード pNodeId の変換行列を設定します。
| pCharacter | 設定するキャラクタ。 |
| pNodeId | 設定するノードの固有の ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| pXForm | グローバル スペースでのこのノード向けのデフォルトのスタンス行列(4x4 column major matrix) |
| void HIKSetCharacterizeNodeStateTQSdv | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| const double | pT[4], | ||
| const double | pQ[4], | ||
| const double | pS[4] | ||
| ) |
キャラクタがデフォルトの T スタンスで立っているときに、ノード pNodeId のトランスレーション、方向、およびスケールを設定します。
| pCharacter | 設定するキャラクタ。 |
| pNodeId | 設定するノードの固有の ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| pT | グローバル スペースでのこのジョイントのデフォルトのスタンストランスレーション |
| pQ | クォータニオンとして表現された、グローバル スペースでのこのジョイントのデフォルトのスタンスの方向 |
| pS | グローバル スペースでのこのジョイントのデフォルトのスタンス スケール |
| void HIKSetCharacterizeNodeStateTQSfv | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| const float | pT[4], | ||
| const float | pQ[4], | ||
| const float | pS[4] | ||
| ) |
キャラクタがデフォルトの T スタンスで立っているときに、ノード pNodeId のトランスレーション、方向、およびスケールを設定します。
| pCharacter | 設定するキャラクタ。 |
| pNodeId | 設定するノードの固有の ID。可能な値については、HIKNodeId 列挙を参照してください。 |
| pT | グローバル スペースでのこのジョイントのデフォルトのスタンストランスレーション |
| pQ | クォータニオンとして表現された、グローバル スペースでのこのジョイントのデフォルトのスタンスの方向 |
| pS | グローバル スペースでのこのジョイントのデフォルトのスタンス スケール |
| void HIKSetParentOffsetdv | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| const double | pParentTOffset[4], | ||
| const double | pParentQOffset[4], | ||
| const double | pParentSOffset[4] | ||
| ) |
ノード pNodeId のペアレント オフセットを設定します。
この関数は親ジョイントが HumanIK にとって未知で、ローカル スペースの変換または制限(DoF)を使用している場合のみ必要です。
| pCharacter | 設定するキャラクタ。 |
| pNodeId | ペアレント オフセットを設定するノード。可能な値については、HIKNodeId 列挙を参照してください。 |
| pParentTOffset | ジョイント チェーンで親のすぐ上の HumanIK ノードに相対する親ノードのトランスレーションオフセット |
| pParentQOffset | ジョイント チェーンで親のすぐ上の HumanIK ノードに相対する、クォータニオンとして表現された親ノードの回転オフセットこの値は正規化する必要があります。このオフセットは次のように計算できます。 pParentQOffset = inverse(HIKParentGQ) * RealParentGQここで、
|
| pParentSOffset | ジョイント チェーンで親のすぐ上の HumanIK ノードに相対する親ノードのスケール オフセット |
| void HIKSetParentOffsetfv | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| const float | pParentTOffset[4], | ||
| const float | pParentQOffset[4], | ||
| const float | pParentSOffset[4] | ||
| ) |
ノード pNodeId のペアレント オフセットを設定します。
この関数は親ジョイントが HumanIK にとって未知で、ローカル スペースの変換または制限(DoF)を使用している場合のみ必要です。
| pCharacter | 設定するキャラクタ。 |
| pNodeId | ペアレント オフセットを設定するノード。可能な値については、HIKNodeId 列挙を参照してください。 |
| pParentTOffset | ジョイント チェーンで親のすぐ上の HumanIK ノードに相対する親ノードのトランスレーションオフセット |
| pParentQOffset | ジョイント チェーンで親のすぐ上の HumanIK ノードに相対する、クォータニオンとして表現された親ノードの回転オフセットこの値は正規化する必要があります。このオフセットは次のように計算できます。 pParentQOffset = inverse(HIKParentGQ) * RealParentGQここで、
|
| pParentSOffset | ジョイント チェーンで親のすぐ上の HumanIK ノードに相対する親ノードのスケール オフセット |