Advanced Biped / Quad - Change rotation order without breaking rig?

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

Thread Tools Search this Thread Display Modes
  09 September 2012
Advanced Biped / Quad - Change rotation order without breaking rig?

I'm setting up a character rig with the new advanced quadruped in r14 (awesome!) but hopefully the principle applies to advanced biped/r13.

I want to be able to change the rotation order of some of the controllers. By default they are all set to HPB and this is not ideal for some controllers. In a perfect world, I'd be able to change these on the fly without breaking the rig, but I know that may be a tall order with this system and I'd be happy enough just being able to set them the way I want during the rigging process.

So here's what it does now when I change the rotation order on the pelvis, for instance:

- Change rotation order from HPB to XYZ, everything seems fine so far.
-- (doesn't seem to matter if I do this when character is set to "Build" or "Animate", same result)

- Hit "update" on animate tab to set default pose, still everything appears okay. Also, same result if I skip this step.

- Save scene, close it, re open it. Now the pelvis is flipped upside-down.

I'm imagining there's a workaround for this, I'm just not familiar enough with how everything's hooked up to be able to figure out the steps (the character component tag is like an alien planet to me). Being able to change rotation order is sooo helpful for avoiding gimbal lock during animation, I'd really appreciate it if anyone knows how I can do this.
Thanks so much for your time!
  09 September 2012
before saving and closing, try pressing "a" to force a refresh and see if it breaks. I don't think it's a problem of the character object specifically and more the expressions in the rig, something might be using a constraint or xpresso to link to certain channels and the change in order is breaking the expression or causing a different result.
Quote: "Until you do what you believe in, how do you know whether you believe in it or not?" -Leo Tolstoy
Kai Pedersen
  09 September 2012
Switching rotation orders during animation is a little tricky as once you change the order the rotations are calculated in you change the visual result you'll get in the viewport unless you change the animation keyframes too.

In Maya I usually use this to do it -
In a nutshell it will step through the animation, store the current rotation for the current key, switch the rotation order and then key the new values for the rotation to keep the same visual angle. Then it switches back to the original rotation order, goes to the next key and repeats the process. It's not really designed to have different rotation orders for different sections of an animation though, it's more for cases where you're half way though a shot and realise the rotation order is really not working and you want to change the whole shot to a different RO while keeping the same poses.

It's been on my list for a while to write a Python version of that tool for Cinema but I've not gotten time to look at it yet, I know all the processes involved I reckon, just a matter of putting it together.

A simpler option in many cases is just to have an extra controller as a child of the main controller with different rotation orders on it, then in the section where the main controller isn't working you just leave it's rotation static and key the secondary controller. Low tech but it works

Getting back to your main question - I've not done enough with the builder to know how it works with rotation orders, Kai might be right about a constraint or xpresso issue although I'd have thought if rotations were zeroed out in the bind pose (assuming they are?) for all controllers then it wouldn't be an issue. Perhaps there's a bug in the rig and one controller is rotated 90 in B for example and when the rotation order changes that's now H instead.

I'd have thought you should be able to switch them in the template file and save it as a new version and then build from that. If all else fails you can always use the nuclear option of pressing 'C' with the character object selected to make it editable. Once out of 'black box' mode the rigs are a little more customizable in my experience but of course you lose some of the functions the builder gives.


Last edited by Horganovski : 09 September 2012 at 01:35 AM.
  09 September 2012
What others have said. If you change the rotation irder you are sort of changing the orientation of an object so anything constrained to that object will adjust. Anything a child of that target will also flip because of that
"We do not - not wag our genitals at one another to make a point!"
  09 September 2012
Thanks guys, got it working, for future reference here's what I did:

- Any controller I wanted to change the order, I just took all of it's children (full hierarchy) and temporarily placed them under the main null of the rig (you can't remove them from the character hierarchy completly)

- now you can change the rotation order and freeze/unfreeze all you want

- put the children back, works fine!

Luckily none of the constraints/expressions seem to be protesting so far.
Also FYI, pressing A for the refresh does not show the rig breaking... you must save and re-open (or revert.) I froze all the controls I edited so they are zeroed out, but normally they are not. I think that's why they have the "default pose" button in the animate tab of the character. Otherwise if you forgot to set a key on the default pose you'd be hosed
Horganovski, I also animate in Maya and that tool you suggested for editing your animation after changing rotation order sounds like a dream come true. Thanks!!!

Thanks again guys for your suggestions, guess this was one of the easier ones, I just needed some fresh brain cells to help me
  09 September 2012
Originally Posted by og_reborn: Horganovski, I also animate in Maya and that tool you suggested for editing your animation after changing rotation order sounds like a dream come true. Thanks!!!

You're welcome, I animate in Maya too and find that tool very handy sometimes. It's definitely on my to-do list to write a C4D version, just need to find some time.

  09 September 2012
Thread automatically closed

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
Thread Closed share thread

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Society of Digital Artists

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump

All times are GMT. The time now is 08:14 AM.

Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.