使用MotionMatching时发现动画节点BlendStack会使根运动提取最终权重之和不为一

Hi,

Thanks for reporting this issue. It does look like this is a bug in the Blend Stack node.

The fix described in the pull request appears to be correct. However, I would go with a slightly different implementation.

Existing code:

`const float BlendInPercentage = bIsLastAnimPlayers ? 1.f : AnimPlayer.GetBlendInWeight();
const float AnimPlayerBlendWeight = CurrentWeightMultiplier * BlendInPercentage;

FAnimationUpdateContext AnimPlayerContext = Context.FractionalWeightAndRootMotion(AnimPlayerBlendWeight, AnimPlayerBlendWeight);
UpdateSample((AnimPlayerIndex == 0) ? AnimPlayerContext : AnimPlayerContext.AsInactive(), AnimPlayerIndex);
CurrentWeightMultiplier *= (1.f - BlendInPercentage);`Fixed code:

`const float BlendInPercentage = bIsLastAnimPlayers ? 1.f : AnimPlayer.GetBlendInWeight();
const float AnimPlayerBlendWeight = CurrentWeightMultiplier * BlendInPercentage;

FAnimationUpdateContext AnimPlayerContext = Context.FractionalWeight(AnimPlayerBlendWeight);
UpdateSample((AnimPlayerIndex == 0) ? AnimPlayerContext : AnimPlayerContext.AsInactive(), AnimPlayerIndex);
CurrentWeightMultiplier *= (1.f - BlendInPercentage);`This effectively does the same thing as mentioned in the pull request.

I’ll discuss with the dev team about getting this change integrated.