Deprecated
Please use the BlendPosesPerBoneFilterwith different 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 BlendPosesPerBoneFilter
(
FCompactPose & BasePose,
const TArray< FCompactPose > & BlendPoses,
FBlendedCurve & BaseCurve,
const TArray< FBlendedCurve > & BlendCurves,
FCompactPose & OutPose,
FBlendedCurve & OutCurve,
TArray< FPerBoneBlendWeight > & BoneBlendWeights,
EBlendPosesPerBoneFilterFlags blendFlags,
enum ECurveBlendOption::Type CurveBlendOption
)
Blend Poses per bone weights : The BasePoses + BlendPoses(SourceIndex) * Blend Weights(BoneIndex) Please
BlendWeights are array, so you can define per bone base This supports multi per bone blending, but only one pose as blend at a time per track PerBoneBlendWeights.Num() == Atoms.Num() @note : This optionally blends rotation and/or scale in mesh space. Translation is always in local space.
I had multiple debates about having PerBoneBlendWeights array(for memory reasons), but it so much simplifies multiple purpose for this function instead of searching bonenames or having multiple bone names with multiple weights, and filtering through which one is correct one I assume all those things should be determined before coming here and this only cares about weights