Hi, guys.
We are trying to create a template for quadruped systems and we are using the leg_3jnt_01 module. But we recently discovered that if we try to scale the character from the main ctrl (3 axis scale, nothing fancy), the legs created with this module are not scaling properly.
Is there a quick fix I could use?
Ok, I think I know why this is happening.
It looks like the module is hardcoded so that some important scale channels get connected to the default global_C0_ctl (which we don’t use). I think those channels should be connected to the parent of the leg_3jnt_01 module instead
This is more a general rigging issue than a bug. If you do your scaling in a different way, you’ll have to edit your rig accordingly, for example in a Python post script.
And I think that makes sense. Because Shifter shouldn’t be guessing how you want to scale your rig, or how you want to design your hierarchy. If you have a component underneath another component that needs to scale, it’s up to you - as rigging artist - to decide whether or not it will follow scaling.
Maybe it would be a nice feature request to have GUI option to specify what scale space a component would follow, or specify that scale should follow the same parent space switch. But I personally wouldn’t want it to be enforced in any specific way.
Also, there is no such thing as “the default global_C0_ctl”. mGear Shifter can make any kind of rig you want. The templates are just example templates. “global_C0_ctl” is just a control_01
component.
On your guide, you can specify that a world control be created. If you have that checked, this gets created no matter what components you put in your rig. But even that control doesn’t get added by default if you make a rig completely from scratch. Otherwise it’s all up to you!
(Hopefully that was helpful and not too preachy!! )
there is no such thing as “the default global_C0_ctl”
Isn’t therel? How strange. In my scene it gets created without any guide with that name. And the use world ctrl checkbox is unchecked
The scaling attributes of the leg_3jnt_01 get connected to that global_C0_ctl. ANd I don’t see any other module doing that, which is weird.
Maybe it would be a nice feature request to have GUI option to specify what scale space a component would follow, or specify that scale should follow the same parent space switch. But I personally wouldn’t want it to be enforced in any specific way.
Not a bad idea at all, no.
I forgot to mention, I’m still working with mGear 3.6.0 Maybe that’s why.
Oh, by the way, if I check the “use world ctl”, a ctrl gets created which is named “world_ctl”, but other than the name, it behaves exactly the same way as the above mentioned “global_C0_ctl”. It looks like the system ignores the checkbox, I mean, it is not ignored, but rather, it becomes just a renaming thing.
Oh maybe. Weird. Yeah I was testing in 4.0.7, but none of my older rigs from 3.2 to 3.6 had that control either, but I made so many changes it’s hard to keep straight. Sorry if I’m giving inaccurate advice.
Agreed, that sounds inconsistent. Or maybe the module is just getting the uppermost control in the hierarchy? Maybe there are better ways to handle this.
I need to check this. It should work, but maybe there is a bug somewhere