Timos opened this issue on May 03, 2007 · 17 posts
Timos posted Thu, 03 May 2007 at 6:33 AM
I have a really annoying problem, and am wondering if its a noob blunder.... :blushing:
My viewports show the global Y and Z is switched: Z is up/down, Y is front/back. I can press 3,1,or 7 on the keypad, or switch cameras in the view menu, all is the same.
I need to fix this.Help!
oodmb posted Thu, 03 May 2007 at 8:25 AM
thats how it happens in 3D chordinates, right hand rule, i think its this way usualy so that they Y is coming out and is positive from the front view and up is positive. its exactly the same way as my new renderer works.
Edit: the y+ is actualy going backwards in blender so that the X can be on the side that people are used to it on.
there is no fix to this, its the way it should be.
furthur edit: its done this way on paper also when calculating stuff due to the fact that when you normaly look at the paper for a 2d graph its flat and horizontal with the ground as a projection, to keep consistent with this, when working in 3d and the paper is not imagined as a projection.
oldskoolPunk posted Thu, 03 May 2007 at 12:32 PM
Actually....
In every other application and API I have ever used, Y is ALWAYS the up/down axis, and Z is the depth axis. This is because x and y have always been the screen coordinates (since back in the early days of 2d graphics). When coming into 3d, a new axis was needed, Z , using a depth buffer, or ZBuffer (depth into the screen)
Well, Blender has flipped everything 90 degrees. To make it easier to understand, think of x and y as "ground" coordinates, with Z as a height coordinate.
Or better yet, don't think about any of that stuff and always remember than when importing or exporting anything to/from Blender, you have to rotate it 90 degrees : /
This is why most every good importer/exporter for Blender has a "Z-up / Y-up" type of option.
Timos posted Thu, 03 May 2007 at 3:18 PM
Thank you both.
What Oldschoolpunk says is basically what I know about Y and Z screen coordinates. I've toyed around with Wings, Maya PLE, and Gmax and they all have Y as up and Z as depht. My face starts to twitch when I even think of switching between blender and another app.
Heck, even middle school math teaches X as horizontal and Y as vertical for graphing lines and equations. :cursing:
Just when I was starting to like Blender. Oh, well... at least there's Local Orientation combined with running a script in my brain's OS called Ignore Global Widget (and supress any urge to enter XYZ numbers by hand). :crying:
oodmb posted Thu, 03 May 2007 at 5:07 PM
does middle school math teach 3d graphs? lots of blender code is for the ease of the developer rather than the ease of user (not that developing it is easy). to make it easiest to program it has to have a right handed system meaning you have x on your forfinger, y on your thumb, and z on the other fingers. in order to keep the system right handed to work with mathematical papers and have the x in the frontal view and whatever is coming towards you be positive, blender flips it.
Timos posted Thu, 03 May 2007 at 10:09 PM
Sorry, I missed the point with that rant on middle school teaching. What I meant to say with is that I have to go against something that has been ingrained in my mind since I was a boy. Seeing as how "everyone else" is doing it, change will take some effort to adapt to that workflow just to use Blender properly. To quote a famous fictional character "you have to unlearn what you have learned".
...unless, of course, someone comes up with a "fix" and become rich and.. ern... well... maybe not rich but famous ... at least in the Blender community. :biggrin:
oodmb posted Thu, 03 May 2007 at 10:26 PM
you shouldnt have to go against what you learned in middle school. its still a right handed system, and if your thinking in 3d you should be able to turn just as easily.
haloedrain posted Fri, 04 May 2007 at 1:12 AM
Yeah, when you look down in blender (numpad 7) it should be what you're used to--positive x to the right, positive y up, positive z towards you. Unfortunately, this maps to looking from the front (numpad 1 in blender) in most other applications. Just model what you would do from the front view in another application from the top in blender and it should be ok in another application without rotating. I model almost everything like that because it's just easier to think about.
oldskoolPunk posted Fri, 04 May 2007 at 10:41 AM
Actually....
Right-handed and left-handed projection matrices have nothing to do with the flipped z/y axis.
If you look at somthing created for a right-handed matrix in a left-handed matrix, it will just appear to be turned inside out. (everything will look reversed, and all the normals will be inverted).
I thought we were talking about the exchange of the z and y axis, which I think is a very good subject. I think it would be great to have the option to flip them inside Blender, while working. I can't count the number of problems I've run into because of this, especially when exporting models with armatures and animations. Things can get crazy when you think you have everything flipped correctly, but your bones still think they are moving forward when they are actually moving up !
Great! Now all we need is a brave soul to go request this much-needed and highly-anticipated feature over at #blendercoders :)
Gog posted Fri, 04 May 2007 at 11:23 AM
Must admit, it was one of those 'Oh that's a little odd' moments I had when switching to blender, as every other pacakge I've used has z as up, but it didn't take me too long to get the hand of it, of course I may have to change my mind when I start playing with animations and armatures......
----------
Toolset: Blender, GIMP, Indigo Render, LuxRender, TopMod, Knotplot, Ivy Gen, Plant Studio.
ysvry posted Sat, 05 May 2007 at 8:42 PM
well in holland i learned it the way it is in blender at school math, so i think they teach it wrong over there just ask the teacher to finaly accept the metric world standards. :P
oodmb posted Sat, 05 May 2007 at 8:47 PM
its not the metric standard, its the way here too. just take physics. right handed system. on the other hand it would be kinda cool if the world changed to a left handed system.
oldskoolPunk posted Sun, 06 May 2007 at 1:26 AM
Yea metrics are great till my car breaks down. I've got a toolbox full of "standard" size wrenches but a hood full of metric size bolts :(
moogal posted Wed, 06 June 2007 at 8:13 PM
This is exactly the type of thing that should be selectable. It's a pain to flip every import and export that blender is involved in given that most every other program does it the normal way.
oodmb posted Wed, 06 June 2007 at 8:19 PM
having it be selectable would be way to much work for the coders seeing as there are algorithms that use down plane. i think lots of the constraints would get messed up as well. if its a good exporter that exports to a specific application and not just a specific format, it should do the rotation automaticaly.
moogal posted Thu, 07 June 2007 at 5:56 PM
It wouldn't be any more work than just relabling it, and reorienting things at load/save time. Nothing "under the hood" would have to change, really. I've seen alot of programs have things like that be selectable, units of measurement for example. It's just one of those blender quirks that turn people off when they are coming from another program.
DramaKing posted Tue, 12 June 2007 at 10:29 PM
This is the global coordinate system. It keeps the x/y/z coordinates the same from one vieport to another. Does this make any sense?
It is better to do one thing well, than to do many things and excel at nothing.