Well you have very classic thinking here. You should think your way up once when you have it there then unthink your way back.
Quite often you will notice you don't need the constraint, many time ive seen that people use constraint for the sole purpose of switching visibility of parts off, and thats their only need. This is easily handled in other ways.
QUOTE
However I had some issues in using the transform of the local rig and move it along with the main rig to keep things together.
Your not applying attention to what you do, dont double transform things. Nothing constraining solves per see. But actually constraints can make things worse. Its just the only tool you know dissect the rig afetr you've made it.
QUOTE
how would you make follow the local facial muscle rig with the main face on the body? (the main face on the body may have just one skull joint)
Thats a broad question, for starters i don't do osipa style controllers the way osipa does them. Because i dont need to i can eliminate many of the things in the rigging process.
Anyway the real question is why do you need to have the rigs separated form the main rig? One typical insane situation arises when people use blend shapes (the question is the same just one step further) and then they amke a separate head that the wrap up to the full body. Why? You could as easily just transport the blend shapes to the main body and read the data form same source. This way you could still do a all the same things but without the wrap wich si by far one of the msot costly nodes around.
So what you can have is 2 rigs taht are in all other repects identical and shared instead.
QUOTE
Yes I agree. Unnecessary constraints are not good
But most disturbingly people dont KNOW other methods than constraining, so they just containers unnecessarily even when they dont need to i mean tiny has atleast 3 layers it definitively does not need for anything.
As i said most people are NOT aware that what they consider as objects are not just one node, so whle they normally do this:
CODE
object
+----object
+----object
is actually:
CODE
transform
+----shape
+----transform
+----shape
+----tarsnform
+----shape
from this follows inability to see that transforms are interchangeable wich means many times a simple constraint can be done like this:
CODE
transform
+----shape
+----controlRigShape
+----transform
+----shape
+----controlRigShape
+----trensform
+----shape
+----controlRigShape
Now since the contol rig is usually lighter you can easily be transformed to something totally else even tough its transform appears to be elsewhere because it counter trasforms, making it easy to make selection interdictions taht dont break.
A second tings people never seem to do is set default manipulators to their transforms, this allows you to make rigs that magically appear on context, since the default transform van be directed to ANY context so you could have traslate rotate for object but as well you could have a point on curve manipulator.
Most users are not even aware of this feature.
This also eliminates need for many gimics people use because the controll does not drive itself.