Using Control Rigs vs Lighter Solutions

Hey all,

Ive been watching a bunch of tutorials lately, and it seems like most of them use the control rig method of they have the bind skeleton with an IK skeleton and an FK skeleton.

My question is, is this necessary? I hvent really gotten into advanced techniques yet, but can’t you do ik/fk switching using the connection editor, tying the FK/IK visibility to the IK Blend of of the ik handle.

The control rig method seems to be a much heavier solution, seeing as it’s more joints, and more connections and what not.

So I guess Im wondering what the pros and cons of both would be? If you can do the same stuff using 1 skeleton vs 3?

Any Insight? Thanks

Stefan

One reason is that control/bind rigs are serving two different purposes. In games, the bind rig might be setup in a certain way to satisfy the engine that it’s being exported into, while the control rig is there to make things nice to interact with for the animator. The setups for both of those situations are different - hence, two rigs. It’s also just plain nice to have a separate bind rig, so you can modify it, add an LOD, etc, without affecting another system too much.

Maya’s native IF-FK switching rubs a lot of people the wrong way - it doesn’t integrate seamlessly into all kinds of rigs you might want to build, and the two-skeleton solution is the simplest and most robust (if not the most elegant) way to re-implement the same idea on your own.

it all depends on the pipeline…
where i was working, we had something similar and it has 3 or 2-3 layers that drives a bind skeleton. I never saw the benefit of doing that in the project that I was on but certainly it was useful when you need to bake the skeleton’s animation to give it to a client or some render farm since we use proprietary stuff in our setups. for a parallel pipeline setup, this is a must. you need somebody to simulate, somebody to do some test rendering and somebody doing other stuff separately at the same time. so an animation(lores) rig is one, a high detail render rig is another and one for simulation.

personally, if I am the CG supervisor or lead TD, I would just do it as simple as possible. If it is simple then it is easy to fix. even if I have to implement a similar approach where in you need a separate bind skeleton, I will implement it as minimal as I can. having all those connections can be heavy as well.

and yes, as mentioned, game engineers kind of dictate how they want the characters to be as well.

It’s “simpler” to keep all your tools in a big bucket , but more usable in the long run to organize them.
when I first was tasked with setting up our game rigs, followed the advice on Matt Stoneham’s blog

I was an absolute requirement in our case that the skinned skeleton be separate from the control rig.
It may seem more complex at first, but in practice , separating each system saves trouble and preserves flexibility.

The separate IK and FK skeleton with a third bind skeleton is fairly common in Maya rigging, because a lot of animators don’t like the way Maya’s default IK/FK setup works, and it gives the rigger more control over how the animator will interact with the rig. I’ve done it in the past.

It’s also not unusual in game pipelines to have a completely separate bind skeleton that is connnected (or constrained) to a rig skeleton (which could be a combination of bones, transforms, and controllers). That can be good when you need (or want) a completely clean skeleton to export to your game engine, without any rig elements in the hierarchy of the bind skeleton. You might also need a different hierarchy in the rig, to what you have in the bind skeleton.

It’s not always the most efficient solution, particularly if you’re more concerned about the speed of your rig. The less connections and constraints you have, the faster your rig will run. But sometimes being user-friendly is more important, so it’s always best to keep both in mind. There are some other alternative approaches when you get into more advanced character rigging that could help you get the best of both options.