ezEngine  Release 25.03
ezAnimPoseGeneratorCommandTwoBoneIK Struct Referencefinal

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>

Inheritance diagram for ezAnimPoseGeneratorCommandTwoBoneIK:

Public Attributes

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_vPoleVector = 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
 

Detailed Description

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


The documentation for this struct was generated from the following file: