Originally, I wanted to do only one post about the differences between both 3D packages, but when I started I realized that it will take more than just one post. Hopefully, it will be only two... Or three. :P
A lot of things have been said about which program is better: 3ds Max or Maya. I have some colleagues that prefer Max, while others die for Maya. And whenever one of each get together, a long (and sometimes heated) discussion starts, with no clear winner.
The choice of software sometimes depends on which software you learn first and which one you constantly use. However, that's not always the case. I know some animators (like me, for instance) that learned 3D on one of them, but prefer the other. Truth is, when you get use to the specific workflow of one them (i.e. shortcuts, viewport handling, technical issues), it's hard to change it, or it seems the other one is missing features "so obvious" that the software becomes useless.
In this post I'll try to cover most of the differences from an animator point of view. I will not be talking about modeling or rendering or lighting or anything else not related to animation, since I don't know all the features of each package (which are a LOT!).
Another thing that is worth to mention is that I'm comparing both programs on the same "yearly" version. I'm using the 2010 version of both 3ds max and Maya, so maybe some of the features I mention here have been upgraded in recent versions. If so, put it in the comments!
Finally but no less important, this is my point of view. Take it as that, just one opinion. If you disagree with what I say, that's cool.
So, into the review...
|Both, Maya's Graph Editor (left) and 3ds Max Curve Editor|
First in line is every animator best friend: the good ol' Graph Editor, a.k.a. Curve Editor in 3ds Max. In general, both editors do the job right but there are some small differences that are actually not so small for some people.
In the Curve Editor (CE) in 3ds Max, the tangents are part of the key, in the sense that if you want to move the tangents, the key must be selected. In the Graph Editor (GE) in Maya, the tangents are independent objects from the keys. So in order to move a tangent, you have to select a key and then select the tangent. Basically, in 3ds max it's easier to select the tangents, but in Maya you can select (and adjust) multiple tangents at the same time.
Another difference in the tangent handling is the way you break them. In the CE, if you want to move one tangent independently from the other one, you just have to press SHIFT and that's it. In GE, there is a button in the toolbar called "Break Tangents" (see image), which is a command to break the tangents of the selected key.
|Breaking tangents toolbar in Maya|
So it might seem like an additional step, but the problem in the CE comes when you want to unify the broken tangents while keeping the changes you did when you broke them. In GE, you just press the "Unify Tangents" and it's done. In 3ds Max, you'll have to follow this
The tangent type toolbar is a bit different for both programs (see image).
|Tangent type icon comparison |
The CE gives you the option to change each tangent to a different type (ease-in ease-out, linear, etc) from the toolbar by means of drop-down buttons (just click-hold a button and more options will appear), but changing the tangent type to something different than Auto or Custom will make the tangents disappear. In the GE, you will have to select the tangent first and then select the type of tangent you want, but in this case the tangents will never disappear.
Another thing regarding this topic is that there are some types of tangents that vary from one software to the other. While in the GE you have more variety (spline, plateau, clamped) - and in my opinion, better naming-, in the CE you'll find auto, custom, fast, slow and smooth.
This is a feature that is present only in Maya, and for most animators, is a game changer. The Buffer curves allow you to take a snapshot of the f-curve at that moment in time. When you start modifying your curve, you can always go back and forth between the current curve and the snapshot (even when playing the animation) and compare how the changes affected the animation, and go back in case you screw it up.
|Buffer Curves demonstration|
It's worth mentioning that buffer curves are not saved with the file, so once Maya is closed, they're gone.
3ds max does not have a feature like this.
Selecting the whole curve
The only way to select the whole curve in 3ds max is to select all the keys that are part of the curve. In Maya, the curve is another object (separated from the key and the tangent). Selecting the whole curve by, well, selecting it can be very useful, but it's also very easy to select it by mistake.
Scaling keys is one of the things that mostly differ between both 3D packages. In 3ds max, there are two different types of scaling : Scale Keys and Scale values. The first one is used to scale keys in time only (horizontal scaling), while the second one scales the values of the keys (vertical scaling).
When scaling values, the curve is scaled from a reference point, i.e. whenever you select the scale tool, a yellow-ish reference line will appear in the CE and it will serve as your reference point to scale the curve (or keys, if you want to select only a couple of keys).
|Scale Values reference line in 3ds Max|
The problem with this feature is that the line will always stay in the same place no matter what you select. So let's say you scale some keys in the Y-Rotation axis between 270 and 360 degrees. If you want to scale some other keys in the Z-Translation between -200 and -300, you'll have to drag the scale reference all the way down by yourself (one workaround is to close and re-open the CE, so the reference line position will reset to its default position). It would be nice if the reference line pops closer to whatever you have selected.
When scaling keys (horizontally), the position of the time slider will serve as the reference line.
In Maya, the same scale tool that you use to scale polygons and other things in the viewport, works in the GE. So taking the same previous example, you only have to select your keys (or f-curve) and scale them as you would in the viewport (BTW, tangents can't be scaled). On this feature, I see a clear winner.
The Euler Filter!
It's worth to note that both programs have the the Euler Filter command (most 3ds Max users don't know about it, that's why I'm mentioning it), it's just that in 3ds max, it's hidden under the Utilities menu, while in Maya is found in the Curves menu. To my knowledge, both filters work properly.
The Zoom tool is another feature that I found works better in Maya than in 3ds Max because you use the same zoom hotkey that is used in the viewport for the GE (that would be the default "f" key, that comes from the english word "Frame").
However, there are some things that I like in the CE. For example, when you have a key selected from a specific axis and you select another axis, the CE will automatically zoom to the key in that same frame, so you don't have to re-zoom every time you select a different axis (there is the Auto Frame option in the GE, but is not quite the same). Another nice feature is that in the CE you can zoom only in time (horizontally) but not in values (vertically).
For my taste (and my current workflow) I prefer the more simple "f" key.
Out-of-Range values vs. Infinity
They do the same thing: Replicate the f-curve over time so you can adjust you walk cycles (or any cycle, for that matter).
|Out-of-Range window in 3ds Max|
|Infinity options in Maya|
Basically, both tools work the same way, but there is one very small difference that make me go to Maya for this one, though it's something most people won't find it's a problem at all: in 3ds Max, when a f-curve is on cycle mode, you won't be able to add keys after the last key on the cycle. Instead, it will add a key to the equivalent frame inside your cycle. You still can add keys however, by copying an existing key and moving it on to a different frame, but you can't just hit "k" and add a key. For me, this limitation is sometimes annoying, and I feel like it's just too much work for something so simple.
In Maya, you can add keys to your cycle wherever you want. Freedom is priceless, I guess.
This is something that is only present in Maya and for me is not a game changer. Basically, it allows you to "bake" an animation, i.e. add a key per frame to a certain object in order to preserve the animation.
You can get the same feature in 3ds Max through a script (google it, there are a couple of scripts available), or by saving your animation through "Animation\Save Animation..." and selecting the "Key per Frame" option. Then you reload the animation into your scene.
That's pretty much it for the Graph/Curve Editor. In all honesty, I believe Maya beats 3ds Max in this area. Not by much, but it wins. The simplicity in tools like Zoom, Scale and the Buffer Curve, makes me wonder what is Autodesk waiting to implement those in 3ds Max.
I'll take into one of the most used tools by animators: The Timeline (or TimeSlider).