THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 18/07/2008 at 08:19, xxxxxxxx wrote:
Cinema 4D Version: 10.5
Platform: Mac OSX ;
Language(s) : C.O.F.F.E.E ; C++ ;
I've been trying to track down a workaround for rig resizing and I've finally got the problem figured out, but I want to automate the fix.
Essentially, when you scale a rig down small enough the move tool's motion gets multiplied by the scale of the rig's enclosing null, making it impossible to move rig controllers (although rotations still work). Now, I've discovered that if you go through from top to bottom and re-scale the nulls that wrap joint chains to 1.0 (using the Object Axis tool!), everything goes back to normal. However, when setting a parent null to 1.0 the child nulls of that parent all get set to the parent's original scale.
I was wondering: how can I use the object matrices to recursively set all nulls under a parent null to a scale of 1.0 without actually scaling the objects they contain? IE, I start at the top and, using the Object Axis tool, set them all to 1.0, but programmatically. I figure there must be some way to do this using Get/SetMg or through local matricies but I'm at a loss for how to go about it.
Thanks in advance!