This section describes the functions used to set up floor contact for your characters.
Note that setting up floor contact also requires you to set up appropriate character properties in your HIKPropertySetState. For an overview of the HumanIK floor contact engine, and for complete instructions on the process of setting up floor contact, see ~{ Foot and Hand Contact }~.
Enumerations | |
enum | HIKFloorContact { HIKLeftHandFloor =0, HIKRightHandFloor, HIKLeftFootFloor, HIKRightFootFloor, HIKLastFloorId, HIKLeftHandFloor =0, HIKRightHandFloor, HIKLeftFootFloor, HIKRightFootFloor, HIKLastFloorId } |
Lists the surfaces that can be controlled by the floor contact engine. More... | |
Functions | |
int | HIKGetFloorContactPointPositionfv (const HIKCharacter *pCharacter, const HIKCharacterState *pState, const HIKPropertySetState *pPropertySetState, int pMemberIndex, int pContactIndex, float pT[4]) |
Retrieve the translation in global space for one of the markers used by the floor contact engine to define the feet or hands of character pCharacter with HIKCharacterState pState . More... | |
int | HIKGetFloorContactPointPositiondv (const HIKCharacter *pCharacter, const HIKCharacterState *pState, const HIKPropertySetState *pPropertySetState, int pMemberIndex, int pContactIndex, double pXForm[16]) |
Retrieve the translation in global space for one of the markers used by the floor contact engine to define the feet or hands of character pCharacter with HIKCharacterState pState . More... | |
void | HIKSetEffectorFloorStatefv (HIKEffectorSetState *pEffectorSetState, int pFloor, const float pXForm[16]) |
Set the transform matrix of the oriented plane that the floor contact engine applies to one of your character's feet or hands. More... | |
void | HIKSetEffectorFloorStatedv (HIKEffectorSetState *pEffectorSetState, int pFloor, const double pXForm[16]) |
Set the transform matrix of the oriented plane that the floor contact engine applies to one of your character's feet or hands. More... | |
void | HIKSetEffectorFloorStateTQfv (HIKEffectorSetState *pEffectorSetState, int pFloor, const float pT[4], const float pQ[4]) |
Set the translation and rotation in global space of the oriented plane that the floor contact engine applies to one of your character's feet or hands. More... | |
void | HIKSetEffectorFloorStateTQdv (HIKEffectorSetState *pEffectorSetState, int pFloor, const double pT[4], const double pQ[4]) |
Set the translation and rotation in global space of the oriented plane that the floor contact engine applies to one of your character's feet or hands. More... | |
void | HIKGetEffectorFloorStatefv (const HIKEffectorSetState *pEffectorSetState, int pFloor, float pXForm[16]) |
Retrieve the transform matrix of the oriented plane that the floor contact engine applies to one of your character's feet or hands. More... | |
void | HIKGetEffectorFloorStatedv (const HIKEffectorSetState *pEffectorSetState, int pFloor, double pXForm[16]) |
Retrieve the transform matrix of the oriented plane that the floor contact engine applies to one of your character's feet or hands. More... | |
void | HIKGetEffectorFloorStateTQfv (const HIKEffectorSetState *pEffectorSetState, int pFloor, float pT[4], float pQ[4]) |
Retrieve the translation and rotation in global space of the oriented plane that the floor contact engine applies to one of your character's feet or hands. More... | |
void | HIKGetEffectorFloorStateTQdv (const HIKEffectorSetState *pEffectorSetState, int pFloor, double pT[4], double pQ[4]) |
Retrieve the translation and rotation in global space of the oriented plane that the floor contact engine applies to one of your character's feet or hands. More... | |
enum HIKFloorContact |
Lists the surfaces that can be controlled by the floor contact engine.
Used when setting the transform matrix that defines the position of the floor for a limb. See HIKSetEffectorFloorStatefv() and HIKGetEffectorFloorStatefv().
Definition at line 326 of file humanik.h.
void HIKGetEffectorFloorStatedv | ( | const HIKEffectorSetState * | pEffectorSetState, |
int | pFloor, | ||
double | pXForm[16] | ||
) |
Retrieve the transform matrix of the oriented plane that the floor contact engine applies to one of your character's feet or hands.
pEffectorSetState | HIKEffectorSetState that holds the floor orientation. | |
pFloor | Specifies the joint for which the floor orientation will be retrieved. See the HIKFloorContact enumeration for possible values. | |
[out] | pXForm | Stores the transform matrix of the floor or oriented plane, in global space (4x4 column major matrix). |
void HIKGetEffectorFloorStatefv | ( | const HIKEffectorSetState * | pEffectorSetState, |
int | pFloor, | ||
float | pXForm[16] | ||
) |
Retrieve the transform matrix of the oriented plane that the floor contact engine applies to one of your character's feet or hands.
pEffectorSetState | HIKEffectorSetState that holds the floor orientation. | |
pFloor | Specifies the joint for which the floor orientation will be retrieved. See the HIKFloorContact enumeration for possible values. | |
[out] | pXForm | Stores the transform matrix of the floor or oriented plane, in global space (4x4 column major matrix). |
void HIKGetEffectorFloorStateTQdv | ( | const HIKEffectorSetState * | pEffectorSetState, |
int | pFloor, | ||
double | pT[4], | ||
double | pQ[4] | ||
) |
Retrieve the translation and rotation in global space of the oriented plane that the floor contact engine applies to one of your character's feet or hands.
pEffectorSetState | HIKEffectorSetState that holds the floor orientation. |
pFloor | Specifies the joint for which the floor orientation will be retrieved. See the HIKFloorContact enumeration for possible values. |
pT | Translation value to retrieve, in global space. |
pQ | Rotation value to retrieve, in global space. |
void HIKGetEffectorFloorStateTQfv | ( | const HIKEffectorSetState * | pEffectorSetState, |
int | pFloor, | ||
float | pT[4], | ||
float | pQ[4] | ||
) |
Retrieve the translation and rotation in global space of the oriented plane that the floor contact engine applies to one of your character's feet or hands.
pEffectorSetState | HIKEffectorSetState that holds the floor orientation. |
pFloor | Specifies the joint for which the floor orientation will be retrieved. See the HIKFloorContact enumeration for possible values. |
pT | Translation value to retrieve, in global space. |
pQ | Rotation value to retrieve, in global space. |
int HIKGetFloorContactPointPositiondv | ( | const HIKCharacter * | pCharacter, |
const HIKCharacterState * | pState, | ||
const HIKPropertySetState * | pPropertySetState, | ||
int | pMemberIndex, | ||
int | pContactIndex, | ||
double | pXForm[16] | ||
) |
Retrieve the translation in global space for one of the markers used by the floor contact engine to define the feet or hands of character pCharacter
with HIKCharacterState pState
.
For details on how these floor contact markers are calculated from character properties, see ~{ Foot and Hand Contact }~.
pCharacter | HIKCharacter. | |
pState | HIKCharacterState. | |
pPropertySetState | HIKPropertySetState defining the floor contact properties for the character. See the floor contact properties, such as HIKFootBottomToAnkleId, etc... | |
pMemberIndex | Defines which limb to retrieve the result from. 0 = left hand, 1 = right hand, 2 = left foot, 3 = right foot. | |
pContactIndex | Defines which floor contact marker to retrieve. Can be a value from 0 to 5 depending on floor contact type: normal, wrist, fingerbase or hoof. | |
[out] | pXForm | Global transformation matrix of the floor contact marker. |
int HIKGetFloorContactPointPositionfv | ( | const HIKCharacter * | pCharacter, |
const HIKCharacterState * | pState, | ||
const HIKPropertySetState * | pPropertySetState, | ||
int | pMemberIndex, | ||
int | pContactIndex, | ||
float | pT[4] | ||
) |
Retrieve the translation in global space for one of the markers used by the floor contact engine to define the feet or hands of character pCharacter
with HIKCharacterState pState
.
For details on how these floor contact markers are calculated from character properties, see ~{ Foot and Hand Contact }~.
pCharacter | HIKCharacter. | |
pState | HIKCharacterState. | |
pPropertySetState | HIKPropertySetState defining the floor contact properties for the character. See the floor contact properties, such as HIKFootBottomToAnkleId, etc... | |
pMemberIndex | Defines which limb to retrieve the result from. 0 = left hand, 1 = right hand, 2 = left foot, 3 = right foot. | |
pContactIndex | Defines which floor contact marker to retrieve. Can be a value from 0 to 5 depending on floor contact type: normal, wrist, fingerbase or hoof. | |
[out] | pT | Global translation of the floor contact marker. |
void HIKSetEffectorFloorStatedv | ( | HIKEffectorSetState * | pEffectorSetState, |
int | pFloor, | ||
const double | pXForm[16] | ||
) |
Set the transform matrix of the oriented plane that the floor contact engine applies to one of your character's feet or hands.
pEffectorSetState | HIKEffectorSetState that will hold the floor orientation. |
pFloor | Determines the joint to which the floor orientation will apply. See the HIKFloorContact enumeration for possible values. |
pXForm | Transform matrix of the floor or oriented plane, in global space (4x4 column major matrix). |
void HIKSetEffectorFloorStatefv | ( | HIKEffectorSetState * | pEffectorSetState, |
int | pFloor, | ||
const float | pXForm[16] | ||
) |
Set the transform matrix of the oriented plane that the floor contact engine applies to one of your character's feet or hands.
pEffectorSetState | HIKEffectorSetState that will hold the floor orientation. |
pFloor | Determines the joint to which the floor orientation will apply. See the HIKFloorContact enumeration for possible values. |
pXForm | Transform matrix of the floor or oriented plane, in global space (4x4 column major matrix). |
void HIKSetEffectorFloorStateTQdv | ( | HIKEffectorSetState * | pEffectorSetState, |
int | pFloor, | ||
const double | pT[4], | ||
const double | pQ[4] | ||
) |
Set the translation and rotation in global space of the oriented plane that the floor contact engine applies to one of your character's feet or hands.
pEffectorSetState | HIKEffectorSetState that will hold the floor orientation. |
pFloor | Determines the joint to which the floor orientation will apply. See the HIKFloorContact enumeration for possible values. |
pT | Translation value to set, in global space. |
pQ | Rotation value to set, in global space. |
void HIKSetEffectorFloorStateTQfv | ( | HIKEffectorSetState * | pEffectorSetState, |
int | pFloor, | ||
const float | pT[4], | ||
const float | pQ[4] | ||
) |
Set the translation and rotation in global space of the oriented plane that the floor contact engine applies to one of your character's feet or hands.
pEffectorSetState | HIKEffectorSetState that will hold the floor orientation. |
pFloor | Determines the joint to which the floor orientation will apply. See the HIKFloorContact enumeration for possible values. |
pT | Translation value to set, in global space. |
pQ | Rotation value to set, in global space. |