Open 3D Engine EMotionFX Gem API Reference
23.05.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
|
Public Types | |
typedef const AZStd::function < void(const AZ::Vector3 &, const AZ::Color &, const AZ::Vector3 &, const AZ::Color &, float)> & | DrawLineFunction |
Public Member Functions | |
RagdollInstance (Physics::Ragdoll *ragdoll, ActorInstance *actorInstance) | |
void | PostPhysicsUpdate (float timeDelta) |
void | PostAnimGraphUpdate (float timeDelta) |
void | SetRagdollRootNode (Node *node) |
Node * | GetRagdollRootNode () const |
const AZ::Outcome< size_t > | GetRootRagdollNodeIndex () const |
Physics::Ragdoll * | GetRagdoll () const |
AzPhysics::SceneHandle | GetRagdollSceneHandle () const |
void | SetRagdollUsed () |
const AZ::Outcome< size_t > | GetRagdollNodeIndex (size_t jointIndex) const |
size_t | GetJointIndex (size_t ragdollNodeIndex) const |
const AZ::Vector3 & | GetCurrentPos () const |
const AZ::Vector3 & | GetLastPos () const |
const AZ::Quaternion & | GetCurrentRot () const |
const AZ::Quaternion & | GetLastRot () const |
const Physics::RagdollState & | GetCurrentState () const |
const Physics::RagdollState & | GetLastState () const |
const Physics::RagdollState & | GetTargetState () const |
const AZ::Vector3 & | GetTrajectoryDeltaPos () const |
const AZ::Quaternion & | GetTrajectoryDeltaRot () const |
void | ResetTrajectoryDelta () |
void | SetVelocityEvaluator (RagdollVelocityEvaluator *evaluator) |
RagdollVelocityEvaluator * | GetVelocityEvaluator () const |
void | GetWorldSpaceTransform (const Pose *pose, size_t jointIndex, AZ::Vector3 &outPosition, AZ::Quaternion &outRotation) |
void | FindNextRagdollParentForJoint (Node *joint, Node *&outParentJoint, AZ::Outcome< size_t > &outRagdollParentNodeIndex) const |
void | DebugDraw (DrawLineFunction drawLine) const |
void EMotionFX::RagdollInstance::PostPhysicsUpdate | ( | float | timeDelta | ) |
Accumulate motion extraction delta position and rotation. As the physics system updates with fixed time steps, we sometimes update the animation system multiple times without updating physics while when framerate is low it could happen that we update physics multiple times within one frame. Any time the physics system updates, this function gets called, calculates the delta position and rotation of the ragdoll between the last and the current physics update and store the accumulated delta.
void EMotionFX::RagdollInstance::ResetTrajectoryDelta | ( | ) |
Reset the accumulated position and rotation motion extraction deltas.