Why Z axis points up in the default scene???

shouldn´t it point to the interior of the monitor and the Y axis be the one pointing up? O.O

Just press 7 on the Numpad for the Top View dude.

My theory is that blender was designed to be like a paper on a drawing table, if you look at the monitor like this it seems to make sense. Just a guess though. You will get used to it after a bit.

I see you’re familiar with 2D graphics? :wink:

No, the X and Y specify the horizontal plane, and the Z is the vertical axis. The only reason they used X and Y instead of Y and Z or X and Z in 2D programming is that X and Y are the traditional values to use on a 2-D graph.

Machinists(I’m pretty sure) use Z as the vertical axis and X and Y as horizontal axes in CNC machining. I don’t remember for sure, it’s been a while since I took that class. :slight_smile:

Skyler, this is not always true. Consider turret lathes and machine centers. Z is toward the material while X and Y are across the face of the material. Sort of like the the coordinate system has been rotated 90 degrees.

For reference, X,Y,Z defined. Scroll to the bottom.

pixelmass, that is the camera coordinate system

Thanx PapaSmurf, I learned something (again !)

But then the Z axis points out of the monitor, not in.

I’m guessing that the original Blender developers made the decision to go with a right-handed coordinate system back at the very beginning. It makes sense as a right-handed system is far more commonly used in mathematics (and pretty much anywhere else).

On your monitor, if you want the X axis to point to the right, the Y axis to point up, and the Z axis to point into the monitor, you’re wanting a left-handed coordinate system. Some 3D packages do use a left-handed system, and I think I see why they chose to, but you can’t get from one to the other by simple rotation or translation.

How a set of Cartesian axes is defined depends on a lot of factors, and there is no one particular set of orientations that is “correct.”

Many 3D apps and editors use a Z=up arrangement, and many use Y=up. This defines the virtual space “framework,” but it isn’t always set in stone. In Maya you can choose either way to go, which make it very handy for matching various game-directed pipelines. The letters are just labels, after all.

For situations that reference screen-centric views, Z = depth (“into the monitor”) because X & Y have been the 2D axes for screen graphics for just about forever. So a “Z-buffer” in relation to a rendered scene (which is screen-centric) will describe the “depth” axis of the rendered space, but that may not in any way correlate to the axes of the virtual space the model occupies. So “Z” in terms of the monitor is not a fixed axis in relation to the model, whereas Z (and X & Y as well) in the virtual space is.

If you think of screen-centric coordinates as being defined by the camera view (which they are), and think about the camera being anywhere in the scene, pointing in any direction, then you’ll see that “Z=monitor depth” is not very useful in terms of being a framework for defining points (like object centers and vertices) in virtual space, which require a fixed framework to be useful.

I agree with what he said. :wink:

Hey guys thank you for your replies, for what i can see the axis framework is just a convention. The important thing is not to misunderstand the Z-axis with the Z-buffer.



wouldn´t it be great if blender has the ability that Maya has to change on the fly the coordinate system´s orientation?

I don’t think the z-axis and z-buffer will get mixed up too often. I don’t mix them up. What’s really annoying, though, is that the models are always sideways when I export in .x format and load them into my games, at least when I forget to change the option to make the y axis point up. Also annoying is that my models are always inside out, and I have to flip them.

Although I can’t tell you why, some programs use y as the vertical axis, and some use the z axis. All we can do is deal with it.

Having the Z axis represent up and down isn’t uncommon. There are a few reasons why some programmers prefer that representation. Either way, it’s very easy to translate the vectors to fix this to whatever axis you want to be up. Yipee, just click the option in the .x exporter to make y point up, and everything will be fine.

Is there a way to change this default behaviour in Blender?

The thing is that everytime I create an object like monkey head the had faces upward instead of facing the camera or view. So in that respect it is quite annoying. Also if you are not familiar with y facing away from the from the view then it can take quite sometime to adjust yourself. On top of it you can add importing and exporting objects which will create quite confusion in a heavy production times unless you only use Blender for everything.

Actually you need to change your preference in Edit Methods to align newly added objects to the view. By default blender adds everything in top view. See here http://wiki.blender.org/index.php/Manual/User_Preferences#Edit_Methods

atomic orbitals are often displayed like that. http://chimge.unil.ch/En/lc/1LC43.htm

I know about the settings. It fixes that particular issue. However I personally would like to see an option to change the direction of coordinate system.

That will depend on your graphics pipeline. In 3D MAX, After Effects, Flint/Flame, viz|rt, in fact any other graphics package I’ve used,Y is up.

FWIW, I also agree with pixelmass’ first guess.

The game editors I’ve used all use a Z-up convention, so there :stuck_out_tongue: :slight_smile: , which may have some bearing on Blender’s choice of orientation, since it has an integral GE, though I doubt it. Developing adaptabilty to various apps’ and editors’ working methods is really a good skill, because face it, they aren’t going to change for our convenience. Having an axis-choice option would be useful, though, Maya does (or did in versions around 4-6) and it does make transporting work among various work platforms (game editors, other 3D apps, etc,) a lot more convenient.

That’s nice, but it’s wrong.

Like I said, there are many coordinate systems to use. There is none that are more valid, and none that are standard. When you program 3d graphics you always have to suplex what the up vector is, can be y (0,1,0), Z (0,0,1), or anything else you want.

There is also left handed and right handed coordinate systems.

Clockwise and counterclockwise vertex winding.

Row major or column major matrices.


It’s simply up to the preference of whoever starts programming the software.

It’s not hard to fix. click the button in the exporter options to make Y up. It’s just a swap of the y and z values when it’s being written out. You can also just rotate the object, save it, and hit CTRL-Z to undo it when you are done (but that’s uneeded with the export option).