ControlRig is so helpful in procedural animation and very interesting to use. you will get a variety of dynamic motion results using different mathematics. That is exactly what an animation need for cartoon.
HOW TO USE CONTROLRIG FOR MAKING PROCEDURAL ANIMATION
ControlRig will basically do some joint controls set up, like normal rig binding works in Maya, but much more than that. you can do all the mathematics things in the function panel like a blueprint. and call out the parameters you've made in the character's blueprint before.
1. Bind the key joints to the "controls"
Pick up some important joints, such as the root, the ankles of the feet, hands, etc. Assign the "Controls" on them. there're some courses from Epic, you can learn them by yourself if you like. then you will get some interesting action in the picture above.
In my case I bind the toe to the control as well, we will use it to control the toe's angle when the feet step on the ground.
2. Call in the parameter and make mathematics
This is the most exciting part. After you set up the controls of the rigs. the foot or hand will follow the controls when it's moving around. what we need to do in the next step is play around with the position and rotation of the controls. You can simply feed the parameters which we mentioned in the blog Procedural Animation 1, directly to the controls. but when your character's feet have an angle with the ground it will cross with the ground. the hands will also go across the body if the character is as fat as our character Bob.
For the hands, we use a Range Curve to make a void space between hand and body, adjust the curvature to match with the belly of our character. the curve is so useful that it can fit every shape of your body. don't need any collisions. because sometimes collision's shapes are limited in the UE5 and have a conflict with physical simulation.
And for the toes and legs is a little bit complicated. we want the toe to be parallel with the ground, and in case of the original data is unstable or inaccurate, we want it to stick on the ground without a gap when it is close to the ground, but if the leg is lifting, lease the feet off the ground. so we make a function for this case as below.
this function can meet the needs of clamping the slop or going upstairs even if the performers didn't clamp, but the character needs to do these in the virtual world. That creates more possibilities when shooting an animation film.
Here is the final result compare with the original one. It's more accurate and reliable. the original one's root is floating, feet are slipping all the time, and the hands are going across with the body. but our new character with procedural animation solved those problems perfectly. Not just that, it can walk in a dynamic way, jolting like a cartoon's character which the actor didn't perform like that. we can add more dynamic action like that in the future.