FAnimNode_LayeredBoneBlend::Initialize CheckSlow assert

Hi! I encountered this problem when running in Debug build.

The checkSlow(BlendWeights.Num() == NumPoses) assert happens I think all the time… the editor blendweights size are by default one more than than the BlendPose array size.

I used Identity as a Base Pose so maybe that is affecting things, too.

void FAnimNode_LayeredBoneBlend::Initialize(const FAnimationInitializeContext& Context)
{
const int NumPoses = BlendPoses.Num();
checkSlow(BlendWeights.Num() == NumPoses);

This still happens in 4.5. Would be good if anyone could take a look at this.

Recreating the layered blend per bone node solved the problem.

Hi Markus,

I apologize for the delayed response. Would you be able to provide any information regarding how you were setting this up when you ran into the assert? Are you able to get it to happen in a new project, or is it only occurring in your own project?

This seems to have been fixed in 4.5.

I created a FAnimNode_LayeredBoneBlend with Identity Pose as one of the inputs. Recreating that node in 4.5 made the number of inputs one less than it was when creating it in 4.4

I am still having some trouble triggering this assert. I created the setup in the image in 4.4.3.

I ran the project in debug mode in Visual Studio with the configuration set to Debug Editor and did not run into any asserts. I also tried using debug mode with the configuration set to Debug, and I did see an assert there, but it was related to internationalization.