Deprecated
Use BlendPosesTogether with other signature
Module |
|
Header |
/Engine/Source/Runtime/Engine/Public/AnimationRuntime.h |
Include |
#include "AnimationRuntime.h" |
Source |
/Engine/Source/Runtime/Engine/Private/Animation/AnimationRuntime.cpp |
static void BlendPosesTogether
(
TArrayView< const FCompactPose > SourcePoses,
TArrayView< const FBlendedCurve > SourceCurves,
TArrayView< const float > SourceWeights,
TArrayView< const int32 > SourceWeightsIndices,
FCompactPose & ResultPose,
FBlendedCurve & ResultCurve
)
Blends together a set of poses, each with a given weight. This function is lightweight, it does not cull out nearly zero weights or check to make sure weights sum to 1.0, the caller should take care of that if needed.
The blend is done by taking a weighted sum of each atom, and re-normalizing the quaternion part at the end, not using SLERP. This allows n-way blends, and makes the code much faster, though the angular velocity will not be constant across the blend.
SourceWeightsIndices is used to index SourceWeights, to prevent caller having to supply an ordered weights array
Parameter |
Description |
---|---|
ResultPose |
Output pose of relative bone transforms. |