IK Rig Solvers inside Unreal Engine 5

Hey! Guille here. This is going to be the first of many blog posts where I play around with settings and configurations !
I was playing around with solvers, and while using a Transform and Full body IK did the trick for biped skeletons, sometimes there were small details that left me disappointed, like limbs that didn’t turn the right way, or some shrinking on the shoulders, wrists, while my hero was trying to adapt to the Source’s poses.

It was then that I decided to setup my hero without full body IK, so I started going limb by limb with Limb IK, Pole Solvers, and others. Let me tell you about it !

So first. What are solvers ?
To put it simply, solvers are behaviors that you can add to your IK Rigs. So, depending on the configuration you choose, your chains and goals can behave in different manners.

That’s the target of our retargets! Calypso. We will start by making the proper chains, and giving her IK goals on her hands . Ah! and the pelvis is the retarget root!
Do keep in mind that for this example we will only use one arm !

We chose the Limb IK, and we are setting the goal on our left hand. Remember that the root must be on the clavicle! or is it on the upper arm? we can’t know until we test it.
Keep in mind that you can only use limb IK as long as you have 3+ bones in the chain !

We will make her arm raise and have that pose, then we need to modify the reach precision, and set it to 17. This will prevent shoulder breakage (the root)
After that, we need to increase the pull distribution slightly, so heavier animations don’t deform that shoulder (remember to make the reach step alpha raise to 1)
Once all of that is done, keep moving the goal around and see if it breaks. It shouldn’t break unless you are making a really extreme animation.

Now, we would like the arm to be able to bend (elbow) but we haven’t made any goal for it yet! so no matter if we move the hand goal as much as we want, our hero will never bend her elbow, she will just break her arm trying to reach the desired position!

Let’s pick a pole solver!

This solver works different than others, as you need an initial bone, end bone, and to have the IK goal configured in the middle point between those two bones!
So set the upper arm to root bone, hand as end bone, and create the IK goal on the lower arm!

Now, lets test it !

Extend the arm to her side using the hand goal, then lets move the lower arm goal as if she was bending arm.
And done! this should be used in combination with “Full body IK” In order to get the best results, as full body allows for bone settings and limits!

Still trying more things, like the exact use for body mover, and set transform (I know it just works, but trying to figure out exactly what and why it behaves that way)

Did you enjoy this little explanation? would you like to see more blogs in this style ?

Please don’t hesitate to leave any comment!

Previous
Previous

VFX Fundamentals for Beginners in Unreal Engine 5 - Niagara UE5 Tutorial

Next
Next

Tencent invests $297 million in Assassin’s Creed franchise