Navigation
API > API/Runtime > API/Runtime/Engine > API/Runtime/Engine/FAnimationRuntime
Description
- Blend Poses per bone weights : The BasePoses + BlendPoses(SourceIndex) * Blend Weights(BoneIndex) Please note 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()
-
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
| Name | BlendPosesPerBoneFilter |
| Type | function |
| Header File | /Engine/Source/Runtime/Engine/Public/AnimationRuntime.h |
| Include Path | #include "AnimationRuntime.h" |
| Source | /Engine/Source/Runtime/Engine/Private/Animation/AnimationRuntime.cpp |
static void BlendPosesPerBoneFilter
(
FCompactPose & BasePose,
const TConstArrayView< FCompactPose > BlendPoses,
FBlendedCurve & BaseCurve,
const TConstArrayView< FBlendedCurve > BlendedCurves,
UE::Anim::FStackAttributeContainer & BaseAttributes,
const TArrayView < UE::Anim::FStackAttributeContainer > BlendAttributes,
FAnimationPoseData & OutAnimationPoseData,
const TArrayView < FPerBoneBlendWeight > BoneBlendWeights,
EBlendPosesPerBoneFilterFlags BlendFlags,
enum ECurveBlendOption::Type CurveBlendOption
)