Home Technical Talk

Learning Maya's Animation System

SkullboX
polycounter lvl 18
Offline / Send Message
SkullboX polycounter lvl 18
Hey guys, very long time no see. I've recovered from a pretty bad case of RSI and recently started learning maya. So far I'm liking it, not better or worse than max, but rigging-wise it's hard getting used to. I've already found out most of these differences are mainly because the terminology is different in maya than it is in max, which makes searching the helpfiles or internet harder for anything specific.


Here is the model I created t learn maya's modeling and animation system. It's nothing special in design, but I figured it would be nice to start with something easy so I chose to animate a centaur. :P

triumph_wip_06.jpg



First there is orientation alignment of bones. When you have for example three bones in the forearm (one for the elbow, two for the twist) you want them to be perfectly aligned. In max you could simply select a clild of the elbow and align it to the parent's orientation. Maya only seems to have a position alignment tool, and the orient constraint doesn't really do what I want it to either.

Here is an exaggerated look of three bones created in any viewport, as you can see they're not properly aligned on any axis.
Joint_orient_01.jpg

After selecting each child and orienting it to its parent (and slightly rotating the elbow) you get this desired result in just a few clicks:
Joint_orient_02.jpg

I've seen perfectly aligned shots of maya sleletons, just no way how to do this. This orientation alignment is somethin I used very often when rigging in max, so I really miss this feature.


I also haven't found any other helper/dummy alternatives to the locator. The locator probably works fine but it can only be displayed as a cross, which is a bitch to select and cripples a workflow. I've seen a lot of extremely fancy maya rigs, but was told these helpers were often nurbs caged rather than real helpers (which I don't care about by the way, I'm just looking for the best solution).


Whenever I bind a model to a skeleton using skin the bones all get coloured differently, no doubt according to their weight or place in the hierarchy. This isn't exactly the end of the world but it doesn't work as nice, and what's more annoying is that the colours remain the same after detaching the skin.


In MAX, for FK controls on single or double axis joints you had the ability to lock any axis so you won't accidentally break the elbow or fingers by selecting an axis that shouldn't be animatable.


Freezing objects is another thing in max I haven't found out about in maya. In max I could select any object and freeze it. It would still be visible, but couldn't be selected - which is great when animatnig with geometry on top.


I'm sure I've forgotten half the questions I had, which I will surely add to this post once they come up, but I'd also love to hear any of your own preferences, workflows and tips in order to create solid rigs. I also welcome any good tutorials. I've spend a good deal of time looking for maya tutorials, but they all focus on specific aspects or are so basic that they disregard having to actually use them in a stable animation environment.

I haven't had any serious problems with maya apart from the messy looking UI, and as expected the modeling features aren't as good as Max', which I read many times on forums. For as far as I have worked with the rigging / bone system, it did seem to be a lot more stable than Max, so I can't wait to get the aniamtion workflow down.

Thanks in advance,

Replies

  • FunkaDelicDass
    Options
    Offline / Send Message
    FunkaDelicDass polycounter lvl 18
    Hey man, good to have you back. I'll try to answer some of your questions...

    As far as an align tool in Maya, can't help you there. frown.gif I know, I sometimes miss this tool after working in Max but I can't think of anything in Maya out of the box that can replace the align tool other than using constraints.

    If you don't want anything more complex than locators, you can always set the selection hierarchy higher for locators in the Preferences, which should make them easier to grab if you did a marquee selection. It's in the Preferences-Selection Panel.

    For the colored joints, go to the option box for smooth or rigid bind. There's a checkbox for colored joints you can check to off.

    To lock a joint axis, go into the attribute editor for any joint. In the 'joint' category, right click on any field you want to lock and choose 'lock attribute'

    For a freezing objects solution, you can create a new layer, assign all your geometry to the layer, then set your layer to 'R' (middle box). Anything set to R will be visible but unselectable.

    Hope that helps.
  • SkullboX
    Options
    Offline / Send Message
    SkullboX polycounter lvl 18
    Thanks for the quick reply!

    [ QUOTE ]
    For the colored joints, go to the option box for smooth or rigid bind. There's a checkbox for colored joints you can check to off.

    [/ QUOTE ]
    Is there also a way to revert the colors after you've done this? Simply reassigning the skin won't turn them back into blue bones.

    [ QUOTE ]
    To lock a joint axis, go into the attribute editor for any joint. In the 'joint' category, right click on any field you want to lock and choose 'lock attribute'

    [/ QUOTE ]
    All the 'stuff on the right' is a bit intimidating and seems to work completely different than how max handles everything.

    Thanks again Funk, and to the rest, I'm still looking for a solution to the first problem I posted.
  • doc rob
    Options
    Offline / Send Message
    doc rob polycounter lvl 19
    Skull, good to see you here again. I can't help you with the Maya stuff, but I would like to hear how you recovered from your case of RSI. It's pretty often we see threads about it here, but it's always good to hear another success story.
  • Whargoul
    Options
    Offline / Send Message
    Whargoul polycounter lvl 18
    Let's see here. Off the top of my head:

    [ QUOTE ]
    First there is orientation alignment of bones. When you have for example three bones in the forearm (one for the elbow, two for the twist) you want them to be perfectly aligned. In max you could simply select a clild of the elbow and align it to the parent's orientation. Maya only seems to have a position alignment tool, and the orient constraint doesn't really do what I want it to either.

    [/ QUOTE ]

    Select some bones and run this script to auto-align their axis (not sure if this is in the UI anywhere or not):

    joint -e -oj xyz -zso -ch;

    This sets the x-axis to go down the length of the bone, and sets the others to match down the chain. This is just a nice way to clean up the bones if you were fiddling with their placement.

    Now, if you want to align some bones so that they are perfectly in line, open the attribute editor (ctrl-a is default) and make sure the rotate values are zero, and then under the Joint rollout, ensure the "Joint Orient" values are zero.

    [ QUOTE ]
    I also haven't found any other helper/dummy alternatives to the locator. The locator probably works fine but it can only be displayed as a cross, which is a bitch to select and cripples a workflow. I've seen a lot of extremely fancy maya rigs, but was told these helpers were often nurbs caged rather than real helpers (which I don't care about by the way, I'm just looking for the best solution).

    [/ QUOTE ]

    Personally, I hate fancy rigs with complex curves and shapes all over the place, it seems like riggers just doing something over-comlicated for the sake of it, but hey, whatever. (end personal rant).

    Yes, you can use any type of node you want for helpers. Locators, curves, objects, whatever. Create a NURBS curve in whatever shape you want, that seems to be the most common thing.

    [ QUOTE ]
    Whenever I bind a model to a skeleton using skin the bones all get coloured differently, no doubt according to their weight or place in the hierarchy. This isn't exactly the end of the world but it doesn't work as nice, and what's more annoying is that the colours remain the same after detaching the skin.


    [/ QUOTE ]

    This is new in 7 and I haven't ha a look at it yet, but seems like one of those features people wanted (probably from some other package they liked it in). I think it can be turned off when binding. Just looking at it now, I can't see how to turn off the bone colours once they're set. Probably hidden away somewhere smile.gif I'll look into it.

    [ QUOTE ]
    In MAX, for FK controls on single or double axis joints you had the ability to lock any axis so you won't accidentally break the elbow or fingers by selecting an axis that shouldn't be animatable.

    [/ QUOTE ]

    Maya's default IK solver, the SC solver, keeps your joints in a plane if they already were. SO it will only ever bend the bone in the axis it was bent in when creating the chain. Now, if you have twist bones you don't want to rotate, you need to lock those channels. Click-drag on the channel name in the channel box to select the rotate channels, then right-click and choose "lock". now they won't rotate any more.

    [ QUOTE ]
    Freezing objects is another thing in max I haven't found out about in maya. In max I could select any object and freeze it. It would still be visible, but couldn't be selected - which is great when animatnig with geometry on top.

    [/ QUOTE ]

    Create a display layer, put stuff in it, set layer to "template" or "reference". Template is non-shaded and non-selectable, reference looks normal but can't be selected.
  • SkullboX
    Options
    Offline / Send Message
    SkullboX polycounter lvl 18
    [ QUOTE ]
    Skull, good to see you here again. I can't help you with the Maya stuff, but I would like to hear how you recovered from your case of RSI. It's pretty often we see threads about it here, but it's always good to hear another success story.

    [/ QUOTE ]

    Hey Rob. I can't say I'm all better again, but I can work properly again so it's just sticking to proper work routines and excersize from this point on. I went to a specialised doctor ('cesar-therapist') at first who gave me simple excersizes to help strengthen specific muscles and pointed me to how I should sit and work, though starting to do 3D work with a tablet so far has by far been the greatest help - especially since I got an intuos 3 A5 to replace my graphire A6.

    Never had any problems and then it seemed to have hit me in a period of about a week, sucked.


    Thanks a lot wharghoul!

    That script didn't really seem to be of much good unless I applied it to a clean chain created into one of the orthographic viewports. otherwise it'd just mess with the orientation in an inconvienient way. The manually setting the rotational coordinates to 0 did work perfectly though.

    As for rigs, I also keep them very clean and hate TD-showoff rigs. I do like to be able to easily select stuff such as an IK controller for the foot of the hips, as that is stuff you usually want to work with pretty fast, and such a locator simply is too small.

    As far as thsoe 'locking angles', I was talking about FK, not IK. I know how IK works. smile.gif FunkaDelicDass already covered what I meant.

    Thanks again for the detailed explenation!
  • SkullboX
    Options
    Offline / Send Message
    SkullboX polycounter lvl 18
    Moving bones without affecting children

    Does anyone know if it's possible to move bones without affecting their children using the local (object) coordinate system? Using 'insert' (as in, the button on the keyboard) I can move bones without affecting, but only using the world coordinates. The way normal move mode is set doesn't affect how you can move bones using 'insert'.

    Thanks in advance!
  • vahl
    Options
    Offline / Send Message
    vahl polycounter lvl 18
    press F8 and activate the select by component type : joint pivot.

    (the circle with a black dot in it) then move it smile.gif
  • Scott Ruggels
    Options
    Offline / Send Message
    Scott Ruggels polycounter lvl 18
    In general the way to create a skeleton in Maya is to create it in the Orthographoic view, in pieces and then move those pieces by their root bones to where they should be, and then hit CTRL P to parent them to the chains that should be higher on the hierarchy, Then use the "Reset Joint" command on the tool bar,and then Mirror the chains that are symmetrical. One is supposed to NEVER build Joints in the perspective view, unless the joints are snapping to the grid, or an "Active Geometry" plane.

    Once you have the Skeleton done, then comes the unmitigted joy of Rigging... which isn't.

    Scott
  • Daz
    Options
    Offline / Send Message
    Daz polycounter lvl 18
  • Rhinokey
    Options
    Offline / Send Message
    Rhinokey polycounter lvl 18
    HOLY SHIT!! SB!! I missed you man, can't help you with maya at all, but i just stopped in to tell you you better not vanish again,
  • SkullboX
    Options
    Offline / Send Message
    SkullboX polycounter lvl 18
    Hehe, thanks mojo. Yeah I didn't feel like coming back up until I actually had something to contribute again and I recently starting looking for some contract work and got an offer for a Netherlands based company that uses maya at the same time, so I figured to give it a try. Unfortunatly they only needed a full time, on site employee, so it's back to looking again. I'll try and stick around. smile.gif

    Daz: Thanks for the link, lots of good stuff there.

    Scott: Yeah, that's pretty much how I rigged in max as well, working in the perspective view's never a way to place anything accurately.
  • Zergxes2
    Options
    Offline / Send Message
    Zergxes2 polycounter lvl 17
    Some ideas, don't know if it will help. You said orient constraints wouldn't work for aligning joint orients, try an aim constraint if the two are unparented, then break the connections in the channel box and reparent. I usually freeze transformations on the root to align all the joints with the world and then I manually re-orient all of them in component mode, so I know what each of them is doing exactly. Because... I'm nuts.
Sign In or Register to comment.