I’m having an issue trying to use the Layered Blend per Bone node to blend between a state machine and an IK rig. When blended together, the state machine is causing a weird offset to happen with the IK goal. The blend profiles I have set up include the arms, elbows, wrists, and hands.
This is what happens without the state machine plugged in, which is what I am expecting (both IK positions are set to the origin):
This is what it looks like with the state machine:
It seems like the goal positions are moving as I move the mesh, and it’s exaggerated more the farther away it is from the goal. It only happens when I move in X and Z, but not in Y.
What is this offset, and what’s causing it? How can I get rid of it?
Whats with the conversion of a boolean to a float?
What does the IK rig without the base locomotion to it look like(is that the first video?)
In the second video it appears as the movents are inversly related.
What’s that mean?
Maybe the affector is expecting a different axis than what you are passing it, as in you need to swizzle x and z, or similar.
Usually this has to do with either the blend node settings or the IK settings.
In IK you have the option to have the chain respect a position that’s either local to the bone, local to the mesh, or world driven.
That setting alone could potentially be the cause of this.
That aside, consider that maybe the math is just incorrect to drive your affector - if there is any math you should/appear to be passing a fixed point to it, so maybe this aint it, but that would mean a world position, so the option can’t be set to local.
Anyway, order of operations matters a lot in ABP.
For instance, if you have an aim offset it should likely modify the pose after the IK is done twisting it - depending on the circumstance.
Last thing.
Is control rig an actual need?
You can achieve the same exact behaviour with 2 fabric nodes (one per arm chain) - and because they support a pole vector your twist of fhe elbow is going to be able to look a lot more natural than it does as shown (At least on the arm/hand which isn’t broken).