Original Post
are there any other games weirded out like this?
do u know which is up in valve source games?
im still messing with quake3 levels
cause i dun kno how to render edges vs vertices
Z up is the most straightforward thing. I don't get it at all, why should that be otherwise (but it is, I just don't get it).
Just an example: you can use 2D vector operations in the horizontal plane with the 3D vectors: the 2D functions can simply use the first two elements. You don't need to copy the x,y elements to another vecto just to be able to operate on it. And since Quake was coded in C, they couldn't just use a constructor in the parameters of a function.
Another example: 3Ds Max, and I guess other model editors (and design programs like CAD systems) also threat Z as the up vector.
So the more interesting question is why should that be otherwise?
are there any other games weirded out like this?
Maybe because Blender has y up (I'm not sure)?
In reality; it doesn't matter.
(Although, as I like to say; get back to me when they call it a Y-Buffer ;))
[/quote]
Well, as I mentioned earlier, the fact that y is up and z is depth in view space isn't really relevant to the discussion (in that there's no particular reason view space and world space have to be oriented in the same way).
It's not weirded out. There was no standard, people just made their own choices that differed.
are there any other games weirded out like this?
I am suprised no one has mentioned it yet; Draw a 2D coordinate system on a piece of paper. Now add the third dimension Z. Where does it point? Thats right, it points up, out of the paper
I am suprised no one has mentioned it yet; Draw a 2D coordinate system on a piece of paper. Now add the third dimension Z. Where does it point? Thats right, it points up, out of the paper
Well, not understanding the vector thing means you don't code in C... if you have an array of 3 values, and you have a 2D function with arguments as pointers (what else), you can just plug your array into the 2D function. If you use Y as up, you can't do that since you would have to use the 0 and 2 elements. You have to make a temporary array.
heightmap: Most of the time you have to look for the indices of the height map: in the horizontal plane. That means 2D calculations. I can convert x-y easily to indices on a heightmap for example using vectors (the array stuff). Calculating indices is a lot of 2D calculations. Why should I use separate functions for 2D operations in 3D and in 2D (which is probably x-y)? Or making everything 3D just to make every calculations 3D?
Okay, It's not a real issue, but anyway, I only see disadvantages of Y being up (compatibility with most modelling programs, papers, books), but no advantages. It's just a matter of choice, but for me, Z up makes everything much easier and less error prone (okay, the last is pure preference)
[/quote]
Fun fact; our game at work uses terrain on a X/Z plane with Y being elevation.
It works fine; there is no confusion between art resources and in game resources at all. Artist model how they want, we display how we want, the pipeline takes care of any conversion issues.
This topic has been locked by a moderator. New replies are not allowed.
GameDev.net uses cookies to ensure you have the best experience on our platform. Learn more