Character root joint rotation and layered blend per bone

Hi guys!

We got a character that is using an animation slot for blending a punch animation into its “main” animations, but struggle a little with the rig at the moment. Everything works as it should, but since our root joint is rotated quite a lot in the punch animation and since both the upper body and lower body joints are parented to the root joint, we cant really use the root joint as the "branch filter" in the layered blend node. Doing this will make the slot affect both the upper and lower body, since all the bones are parented to the root joint. If we use the spine bone that is parented to the root joint as the "branch filter", it works as it should, but then the characters upper body isnt rotated as much as it should.

Is there an easy way to solve this problem or should we just redo the animations and overrotate the spine joint that is parented to the root joint?

Hi BrokenPoly.

Have you tried setting ‘Mesh Space Rotation Blend’ to True in the settings of your Layered Blend per Bone node? Having the rotations in mesh space should help to preserve some of the rotation that your spine bone is losing when you remove the Root bone from the blend.

In case you’re unaware of it (I was for a long time), something else worth noting is that you can mask out bones that would normally be influenced by a LayeredBlendPerBone by giving them a negative Blend Depth. For example, if your branch filter is a spine bone but you don’t want the left arm (a child of the spine) to be influenced, you could add another Branch Filter for the left arm and set it’s Blend Depth to -1. Might look something like this:

5827-layeredblendperbone_screengrab.jpg

Good luck!

Hey Ray,

would you mind explaining me the “BlendDepth” a little more?

I’m currently looking into the CouchKnight Game and the Character uses a Layered Blend per Bone to blend between a Running animation and the Block animation.

The BasePose is the Running animation.

The first Branch Filter is spine_03 with a 3. Why the 3? I see that it stops the Animation from affecting the spine_03 although it is entered. Does BlendDepth tell at which Bone the Blend, coming from the entered one, starts? So taking one bone higher and entering a 2 would lead to the same effect?

The right upper arm bone has a -2. Why -2? Is there more to negative numbers or is -2 = -1 regarding the effect?

I hope you can give me some info about this (:

Kind regards

Cedric ‘eXi’

Yeah… I cant find any documentation on this blend depth thing… It not that the a 3 means it only affect 3 bones into the hierarchy from the blendbone.

For example… this bone structure:

root - bone1 - bone2 -bone3 -bone4 -bone5-bone6

If I want only bone 2, bone3 and bone4 to be affected. I would asume:
Bone Name: bone2
Blend Depth: 3

Right ?! NOT!..anybody ?

Hi! Anything new about “Blend Depth”? I have a similar question:

Assume only blend with two pose.
It seems that the Blend Depth property decides two things:
1 whether it’s positive or negative decides to use the second pose or not.
2 the number decides how long it takes along the skeleton tree to completely use the target pose, which is decided in note 1.
eg:
number 3 means – the skeleton node’s grandchildren and those below will completely use the Blend Pose 0, but the node itself and it’s children will use blend weight of 1/3 and 2/3…
number -2 means – the skeleton node’s children will use the base pose

check the function “FAnimationRuntime::CreateMaskWeights”