![]() |
XII Release 0.1.0
|
Accepts a single input in model space and applies two-bone IK (inverse kinematics) on it. Updates the model pose in place. More...
#include <AnimPoseGenerator.h>
Public Attributes | |
| xiiVec3 | m_vTargetPosition |
| The position for the 'end' joint to try to reach. Must be in model space of the skeleton, ie even the m_RootTransform must have been removed. | |
| xiiUInt16 | m_uiJointIdxStart |
| Index of the top joint in a chain of three joints. The IK result may freely rotate around this joint into any (unnatural direction). | |
| xiiUInt16 | m_uiJointIdxMiddle |
| Index of the middle joint in a chain of three joints. The IK result will bend at this joint around the joint local mid-axis. | |
| xiiUInt16 | m_uiJointIdxEnd |
| Index of the end joint that is supposed to reach the target. | |
| xiiUInt16 | m_uiRecalcModelPoseToJointIdx = xiiInvalidJointIndex |
| Optimization hint to prevent unnecessary recalculation of model poses for joints that get updated later again. | |
| xiiVec3 | m_vMidAxis = xiiVec3::MakeAxisZ() |
| The local joint direction around which to bend the middle joint. Typically there is a convention to use +X, +Y or +Z to bend around. | |
| xiiVec3 | m_vPoleVector = xiiVec3::MakeAxisY() |
| In the same space as the target position, a position that the middle joint should (roughly) point towards. Used to have bones point into the right direction, for example to make a knee point properly forwards. | |
| float | m_fWeight = 1.0f |
| Factor between 0 and 1 for how much to apply the IK. | |
| float | m_fSoften = 1.0f |
| Factor between 0 and 1. See OZZ for details. | |
| xiiAngle | m_TwistAngle |
| After IK how much to rotate the chain. Seems to be redundant with the pole vector. See OZZ for details. | |
Public Attributes inherited from xiiAnimPoseGeneratorCommand | |
| xiiHybridArray< xiiAnimPoseGeneratorCommandID, 4 > | m_Inputs |
Additional Inherited Members | |
Public Member Functions inherited from xiiAnimPoseGeneratorCommand | |
| xiiAnimPoseGeneratorCommandID | GetCommandID () const |
| xiiAnimPoseGeneratorCommandType | GetType () const |
Protected Attributes inherited from xiiAnimPoseGeneratorCommandModelPose | |
| xiiAnimPoseGeneratorModelPoseID | m_ModelPoseOutput = xiiInvalidIndex |
| xiiAnimPoseGeneratorLocalPoseID | m_LocalPoseOutput = xiiInvalidIndex |
Accepts a single input in model space and applies two-bone IK (inverse kinematics) on it. Updates the model pose in place.
The input command must be of type