CGTalk > Techniques > Character Rigging
Login register
Thread Closed share thread « Previous Thread | Next Thread »  
 
Thread Tools Search this Thread Display Modes
Old 02-06-2013, 11:48 PM   #1
Mambo4
not a jedi yet
 
Mambo4's Avatar
portfolio
Logan Bender
Game Technical Artist
Greater Seattle, USA
 
Join Date: Nov 2010
Posts: 432
Max Game character rig: arm bone axes

Workings on a 3ds max game rig.

I have gone through the task of rotating bone pivots in order to achieve the state described here


Quote:
"...There are two general points to remember here,
1) You should be able to select every joint in a chain and have them bend in the same direction when you rotate in a single axis.
2) Behaviours should correspond across different limbs in the same rig, so for example rotation in X should rotate the arms forwards, legs forwards and spine forwards - consistency of rotation behaviour is the aim."


but now that my arms behave this way, their joints seem a bit odd -namely that X (down the bone) and Z (forward bend) is flipped on the left arm.


My question is: is this normal?

i ask because I'm about to implement an attachment system. It will need to communicate XYZ offsets, and I don't know if the flipped left arm axes will be trouble...

I realize that it's a Maya tutorial, but I assume this consistent axis set up is a general principle...
 
Old 02-07-2013, 03:08 AM   #2
sidvici
Frequenter
 
Join Date: Dec 2003
Posts: 202
This shouldnt happen if you use the BoneTool mirror function(Animation menu).
 
Old 02-07-2013, 06:32 AM   #3
uiron
neglostyti
 
uiron's Avatar
portfolio
Viktoras Makauskas
Lithuania
 
Join Date: Jun 2005
Posts: 615
Axis alignment looks good. This kind of alignment is a "mirror rotate behaviour", where each axis is looking into opposite direction than it's mirror counterpart (X is also "opposite" in your picture, as one side looks into mirror plane, and the other side - away from it). In more simple words - if you grab both joints and start manipulating rotation values, you'll get mirrored behaviour. This also allows copying rotation keys from left to right side, and all other good stuff. At least that's the logic in Maya, I remember Max joints being somewhat different (no local rotation axis? don't know, been a long long time

I don't know what you have planned for "It will need to communicate XYZ offsets", but there's nothing that cannot be solved with intermediate objects, matrix operations and what not. In any case, this should not influence joint orientation, which, I feel, is best left as "mirror rotate behaviour" mirror style.
__________________
Victor
ngskintools.com - skinning plugin for Autodesk Maya
 
Old 02-07-2013, 04:44 PM   #4
Mambo4
not a jedi yet
 
Mambo4's Avatar
portfolio
Logan Bender
Game Technical Artist
Greater Seattle, USA
 
Join Date: Nov 2010
Posts: 432
Quote:
Originally Posted by sidvici
This shouldnt happen if you use the BoneTool mirror function(Animation menu).


Bone Mirror fails to produce axis layouts that yield the desired mirrored rotation behavior.

threads regarding the general lack of joint orientation tools in Max tend to go dead fast.
So I have to wonder if this idea matters in max (and if not, why not?)
 
Old 02-08-2013, 01:34 PM   #5
sidvici
Frequenter
 
Join Date: Dec 2003
Posts: 202
Try this. In the front view create a simple bone chain. use the mirror tool and check the x mirror axis and choose z as bone axis to flip. vóila, a mirrored bone behavior.

Last edited by sidvici : 02-08-2013 at 01:38 PM.
 
Old 02-08-2013, 08:48 PM   #6
Mambo4
not a jedi yet
 
Mambo4's Avatar
portfolio
Logan Bender
Game Technical Artist
Greater Seattle, USA
 
Join Date: Nov 2010
Posts: 432
Z rotation is opposite, following your example.
 
Old 02-08-2013, 09:34 PM   #7
uiron
neglostyti
 
uiron's Avatar
portfolio
Viktoras Makauskas
Lithuania
 
Join Date: Jun 2005
Posts: 615
You can use negative scale to flip an axis. Not saying it's a good thing, but it's the only way to get perfect mirror of all three axes on the other side. Well, they will look mirrored, but if you try to rotate with "local" and "use pivot center" settings, you can observe how they rotate into opposite directions
__________________
Victor
ngskintools.com - skinning plugin for Autodesk Maya
 
Old 02-09-2013, 01:29 AM   #8
Mambo4
not a jedi yet
 
Mambo4's Avatar
portfolio
Logan Bender
Game Technical Artist
Greater Seattle, USA
 
Join Date: Nov 2010
Posts: 432
I ended up manually rotating the pivots 180 in Y to achieve the full effect.

As to weather or not it is important to have perfectly mirrored rotations, I discovered that failing to do this became a disater when I set upy ik-fk switching.

I wish max had better joint orienting tools.
 
Old 02-09-2013, 02:19 AM   #9
sidvici
Frequenter
 
Join Date: Dec 2003
Posts: 202
I see what you mean. You just get one axis to flip. But is that really a problem? You could easily flip y and z on the mirrored control object to get the desired behaviour on all 3 axis.

Just out of curiosity, how you managed to get the x axis of the selected bone in the picture look upwards?
 
Old 02-11-2013, 07:43 PM   #10
Mambo4
not a jedi yet
 
Mambo4's Avatar
portfolio
Logan Bender
Game Technical Artist
Greater Seattle, USA
 
Join Date: Nov 2010
Posts: 432
the flipped x axis was a result of following this tutorial

http://www.youtube.com/watch?v=M06ZB...Bg2vUd&index=5

watch from 6:18.
 
Old 02-14-2013, 12:45 PM   #11
PEN
R&D/Technical Director
 
PEN's Avatar
portfolio
Paul Neale
PEN Productions
Canada
 
Join Date: Jun 2002
Posts: 7,416
Max does not need joint orient tools as they stay aligned correctly for you. When you move a child joint in maya the parent looses orientation to the child, not the case in Max. If you want the bad behavior that maya has all you need to do is turn off the bone property in max.

As for the mirroring what you are seeing is a transform that has been mirrored from a right hand to right hand matrix. If it were truely mirrored from right to left hand the mirrored side would be inside out and game exports would be messed up. This is no different in maya or any other 3D engine.

Quote:
Originally Posted by Mambo4
Bone Mirror fails to produce axis layouts that yield the desired mirrored rotation behavior.

threads regarding the general lack of joint orientation tools in Max tend to go dead fast.
So I have to wonder if this idea matters in max (and if not, why not?)
__________________
Paul Neale
http://paulneale.com
 
Old 02-14-2013, 03:25 PM   #12
Mambo4
not a jedi yet
 
Mambo4's Avatar
portfolio
Logan Bender
Game Technical Artist
Greater Seattle, USA
 
Join Date: Nov 2010
Posts: 432
Paul, how do you view the importance of the mirrored rotation idea epxressed in my first post? Where xyz rotations are perfectly mirrored? Their blogs ive been following stress the idea, as well as the video tutorial linked to, but recreating it in max seems dubious From what ive read. I fear I may be creating unneeded problems.
 
Old 02-14-2013, 08:55 PM   #13
Mambo4
not a jedi yet
 
Mambo4's Avatar
portfolio
Logan Bender
Game Technical Artist
Greater Seattle, USA
 
Join Date: Nov 2010
Posts: 432
Also the problems encountered during ik/fk setup were not a result of the bones' reversed orientations alone, but a discrepancy in pivot orientation between bones and Control shapes.

note to self: align everything before any constraining or scripting!
 
Old 03-28-2013, 05:23 PM   #14
Mambo4
not a jedi yet
 
Mambo4's Avatar
portfolio
Logan Bender
Game Technical Artist
Greater Seattle, USA
 
Join Date: Nov 2010
Posts: 432
in the long run, I was forced to scrap this approach to bone orienting for our game.
fighting Max's expected behavior by flipping bone pivots was an invitation to disaster once further rigging demands came along.

[edit] actually a BIG problem with this comes when you have to calculate attachment offsets for weapons and items. With the bones oriented how Max forces you to do it, the left and right hand offset data simply doesn't match.

Last edited by Mambo4 : 03-28-2013 at 11:16 PM.
 
Old 03-28-2013, 05:23 PM   #15
CGTalk Moderation
Expert
CGTalk Forum Leader
 
Join Date: Sep 2003
Posts: 1,066,478
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


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
CGSociety
Society of Digital Artists
www.cgsociety.org

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

All times are GMT. The time now is 08:48 PM.


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