![]() |
ezEngine Release 25.08
|
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 | |
| float | m_fDebugVisScale = 0.0f |
| If >0, debug visualization will be rendered. | |
| ezVec3 | 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. | |
| ezUInt16 | 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). | |
| ezUInt16 | 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. | |
| ezUInt16 | m_uiJointIdxEnd |
| Index of the end joint that is supposed to reach the target. | |
| ezUInt16 | m_uiRecalcModelPoseToJointIdx = ezInvalidJointIndex |
| Optimization hint to prevent unnecessary recalculation of model poses for joints that get updated later again. | |
| ezVec3 | m_vMidAxis = ezVec3::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. | |
| ezVec3 | m_vPoleVectorPosition = ezVec3::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. | |
| ezAngle | 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 ezAnimPoseGeneratorCommand | |
| ezHybridArray< ezAnimPoseGeneratorCommandID, 4 > | m_Inputs |
Additional Inherited Members | |
Public Member Functions inherited from ezAnimPoseGeneratorCommand | |
| ezAnimPoseGeneratorCommandID | GetCommandID () const |
| ezAnimPoseGeneratorCommandType | GetType () const |
Protected Attributes inherited from ezAnimPoseGeneratorCommandModelPose | |
| ezAnimPoseGeneratorModelPoseID | m_ModelPoseOutput = ezInvalidIndex |
| ezAnimPoseGeneratorLocalPoseID | m_LocalPoseOutput = ezInvalidIndex |
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