Extends a given pose with joint-relative linear and angular velocities. More...
#include <PoseDataJointVelocities.h>
Inherits PoseData.
Public Member Functions | |
void | Clear () |
void | LinkToActorInstance (const ActorInstance *actorInstance) override |
void | LinkToActor (const Actor *actor) override |
void | Reset () override |
Zero all linear and angular velocities. | |
void | CopyFrom (const PoseData *from) override |
void | Blend (const Pose *destPose, float weight) override |
void | CalculateVelocity (const ActorInstance *actorInstance, AnimGraphPosePool &posePool, Motion *motion, float requestedSampleTime, size_t relativeToJointIndex) |
void | DebugDraw (AzFramework::DebugDisplayRequests &debugDisplay, const AZ::Color &color) const override |
AZStd::vector< AZ::Vector3 > & | GetVelocities () |
const AZStd::vector< AZ::Vector3 > & | GetVelocities () const |
const AZ::Vector3 & | GetVelocity (size_t jointIndex) |
AZStd::vector< AZ::Vector3 > & | GetAngularVelocities () |
const AZStd::vector< AZ::Vector3 > & | GetAngularVelocities () const |
const AZ::Vector3 & | GetAngularVelocity (size_t jointIndex) |
void | SetRelativeToJointIndex (size_t relativeToJointIndex) |
Static Public Member Functions | |
static void | Reflect (AZ::ReflectContext *context) |
Extends a given pose with joint-relative linear and angular velocities.
void EMotionFX::MotionMatching::PoseDataJointVelocities::CalculateVelocity | ( | const ActorInstance * | actorInstance, |
AnimGraphPosePool & | posePool, | ||
Motion * | motion, | ||
float | requestedSampleTime, | ||
size_t | relativeToJointIndex | ||
) |
Calculate velocities for all joints in the pose.
[in] | actorInstance | The actor instance to use the skeleton and bind pose from. |
[in] | posePool | Calculating velocities will require to sample the motion across a small window of time. The pose pool is used for storing temporary poses. Note that the pose pool is not thread-safe. |
[in] | motion | The source motion to use to calculate the velocities. |
[in] | requestedSampleTime | The point in time in the motion to calculate the velocities for. |
[in] | relativeToJointIndex | Calculate velocities relative to a given joint transform. |