From the course: 3ds Max 2017 Essential Training

Rotating in Gimbal coordinate space - 3ds Max Tutorial

From the course: 3ds Max 2017 Essential Training

Start my 1-month free trial

Rotating in Gimbal coordinate space

- [Voiceover] The next step that we want to take in setting up our hierarchy is to take a look at something called gimbal rotations and this really comes into play when you're animating an articulated hierarchy such as this. Let's select one of these shoulder objects, get in close on that and grab the Rotate tool and if we're in local coordinate space, that seems to indicate that we're operating in the space of the object and if I rotate around x, we can see that that object is aligned with the rotate gizmo. You can see that more clearly here as I move to the front. Well, local mode seems like a good idea for animation and generations of animators in 3D have been using local mode forever. However, local mode is actually really problematic and that's because it's kind of a fake coordinate space. It's not the actual coordinate space of the object. It looks like it is but it isn't really and to illustrate that, I want to open up the Transform Type-in dialog and that is the little floating window that shows us the transform values similar to what we see down here in the Transform Type-in area but this is just going to give us a lot more control. So I'm going to right click on the Rotate tool and we have the Transform Type-in dialog and this shows us the values in the currently selected transform coordinate space or reference coordinate space. Interestingly, if you're in local mode and for example, you rotate in an axis, notice that although we're seeing the object rotate, we're seeing the numbers update in that heads up display but the Transform Type-in dialog shows values of zero and that's just kind of a quirk of 3ds Max. The Transform Type-in dialog in local space is always going to show values of zero. I'm going to undo that with Control Z. Going up here and changing this to a different reference coordinate system, let's try Parent and that's a useful one because when we rotate an object or transform or scale it, in reality we're actually rotating and scaling it in its parent coordinate space, not in its own local space. Currently, this object does not have a parent and so the parent is the world and when I choose parent, I'm actually really working in world coordinate space. This is telling me what the absolute rotation values of that object are. Okay, now, let's see what the issue is when we work in either local or any other mode and I turn off my angle snaps and I'll go over here and rotate in y which is the green circle here and that looks fine. Okay, undo that, Control Z. Let's try rotating in x which is the red circle. And although I'm thinking I'm only rotating in one axis because I've only selected the red axis, look at what's going on in that rotate Transform Type-in dialog. It's actually rotating the object in all three axes. This is actually a real problem because if you rotate in local mode or parent mode, you might think that you're only animating in one axis when in fact under the hood, you're actually rotating in two or even three axes and you might say, oh, well, whatever. How does that matter? Why do I care? Well, you care because if you're actually key framing or animating in three axes simultaneously then you cannot control the behavior of the object and what will happen is that if you make subsequent key frames or animation key points then the object will animate in three axes at once and it will move in unpredictable directions and generations of 3D animators have bashed their heads against their computer screens when this happened. They rotate in one axis, they make a key frame and they think they're good and then they play the animation back and the object spins uncontrollably wildly and just goes crazy. Alright, so there is a solution to this and that is that we want to make sure that we're only rotating in one axis at a time. I'll undo that rotation that I just did and the key here is just to switch over to the reference coordinate system labeled Gimbal and that is the magic solution to all these problems. I never use local coordinate space. I never use parent coordinate space. Whenever animating rotations, I'm always in Gimbal space and now if I rotate around the x axis, only the x axis updates or if I rotate around the y axis, only y updates. Likewise with z. This is super important and if you are in Gimbal mode when you do rotations, you'll actually be able to control the rotations and you can key frame in a single axis and not have your object spin around in crazy directions. By the way, if you're wondering what a gimbal is, it's a real word object. It's a series of three interlocking rings that's used to do things like stabilize a compass in an airline cockpit as the airplane tilts up and down and goes in different directions. So the Gimbal mode here evokes the actual real gimbal in the real world because we have three rings here, one for each axis. Alright, so the moral of the story here is that if you want to have predictable rotations, always use Gimbal mode.

Contents