Quick Isometric Question...
Displaying 1-15 of 15 total.
1
Please enter a numerical value for the importance of this sticky.
Enter 0 to unsticky.
Omni

What would be the tile sizes for pieces of isometric tile art?

I know normal maps here use 16x16, but an isometric tile is three pieces, top and two sides, right? -- like facing a cube tilted downward.

So...anyone have any idea what the dimensions of said art pieces are?

Posted on 2004-12-18 11:41:45

zonker6666

While working on my game I found that the best way to do this is by actually using 16x16 tiles- Render the map into a buffer - rotate the buffer 45 degrees and then blit it scaled vertically so that it is squashed..

But if you actually wanted to use tiles that are drawn in that perspective (like in civilization) even then you would draw 16x16 tiles :) But the terrain would only take up the bottom 16x8 portion of the tile and the rest would be transparent (RGB 255 0 255) and you would actually have to draw your tiles overlapping eachother so that their sides touch.

Posted on 2004-12-18 22:17:08

Omni

Right. I was under the assumption that the diamond top of the tile is not in fact 16 pixels in height, but rotated about the X axis (in a 3D perspective) about 30 degrees, resulting in something like the Height = Width * Tan(30) that Zip once mentioned.

But, what you say is definitely helpful, so thanks a lot. Drawing the isometric perspective within the 16x16 tile is definitely an idea.

Posted on 2004-12-18 22:31:26

hellhound

Right. I was under the assumption that the diamond top of the tile is not in fact 16 pixels in height, but rotated about the X axis (in a 3D perspective) about 30 degrees, resulting in something like the Height = Width * Tan(30) that Zip once mentioned.

But, what you say is definitely helpful, so thanks a lot. Drawing the isometric perspective within the 16x16 tile is definitely an idea.

err.. The height (altitude) of the square measured from the x axis is height = width * sin(45 + alfa); alfa being the elevation from the x axis.

Posted on 2004-12-31 11:50:02

Zip

Bah, whatever hellhound. In practice, you just draw the z axis vertical, and the x and y axes at 30 deg to the horizontal. That's 1:1.732 so, 16px high tile would be 27.7px wide.

Zip

Posted on 2004-12-31 12:14:01

anonymous

Heh! I thought that was a pretty good read too.

...er, heck. What I ended up doing was, just for starters, I tried rotating a 16x16 tile 45 degrees and the resulting tile width was 22.

I then applied the tangent30 math and achieved a resulting height of 13.

I decided on a final height of 13x25 for isometric tiles. ...So...I guess the ratio's not off too badly...

--Omni, still anonymous

Posted on 2004-12-31 13:04:17

hellhound

Dude, in the affine transform called parallel-projection, all points are directly transformed from 3D space to 2D space without considering the z axis:
(x,y,z)->(x,y)
or by doing something like this:
(x,y,z)->(x+z,y+z)
That's why it's called parallel or isometric projection cuz there's NO depth, all projections remain equal (iso=equal); NO z axis.

Yes, there's a technique where you make a projection of each axis having 120º between them, nevertheless, there's no Z axis .

Posted on 2004-12-31 13:25:44 (last edited on 2004-12-31 13:36:40)

Zip

Omni didn't ask a question about 3d space, he asked what size to draw tiles so they look isometric styley. I really don't need lessons in orthographic projection.
Feel free to MAEK GAMZ with your extensive knowledge though.

Zip

Posted on 2004-12-31 13:37:01

hellhound

I think i got it, you're confused. You think that the local coordinates (objects coordinates) are the MAIN or WORLD coordinates. If you want to express local coordinates into world coordinates you have to transform them appropriately.

Hmmm, you said it's not a 3D space problem... it is, either projection technique you use it still being a representation of 3D-space objects.

Right. I was under the assumption that the diamond top of the tile is not in fact 16 pixels in height, but rotated about the X axis (in a 3D perspective) about 30 degrees, resulting in something like the Height = Width * Tan(30) that Zip once mentioned.

But, what you say is definitely helpful, so thanks a lot. Drawing the isometric perspective within the 16x16 tile is definitely an idea.


in 18.14 notation:

height = (width << 14) * (sqrt(2 << 28) << 14)

Regards

Posted on 2004-12-31 14:17:54 (last edited on 2004-12-31 15:11:02)

anonymous

Er...guys....what are we talking about here? I'm just trying to get the right angle, questions of 3D object hierarchy shouldn't even be involved.

I mean, I've read certainly that 3D isometric requires each axis to be at a 120* angle from each of the others and to accomplish this just rotate by 30 degrees on the X and then Y axis.

But, I figure the Tangent30 trick is simply a shortcut that already took projection into account so that I don't really need to worry about anyway, so I'd just use Tangent30 personally.

Posted on 2004-12-31 15:07:06

Omni

I meant to log in that time, I swear! Although! The affine transformation seems to make sense, as positions for tiles in isometric view change X and Y positions on the 2D screen simply based on Z position, because a Tile further back on the same X row is really kinda X+Z, so I kinda see what he's talking about. Not quite what I was thinking of, but that's an interesting math idea to try sometime.

Posted on 2004-12-31 15:07:46 (last edited on 2004-12-31 15:18:10)

hellhound

Heheh, err... my mistake.

It should be of the same size... and no, you can't achive this technique only by rotating your tiles. You first need to rotate a tile set (say an area conformed by 20*20 tiles) in a buffer, then scale the height of this buffer by a factor of 1/sqrt(2) or ~0.71.

One more thing, scaling it by a factor of tan(30) isn't correct cuz this value represents the relation between the adjacent leg and the opposite leg of the angle in question and not the relation between the diagonal and the side of the square.

Posted on 2004-12-31 15:25:42 (last edited on 2004-12-31 15:51:51)

hellhound

Quote:Originally posted by Unimportant NPC (Anonymous)

Er...guys....what are we talking about here? I'm just trying to get the right angle, questions of 3D object hierarchy shouldn't even be involved.

I mean, I've read certainly that 3D isometric requires each axis to be at a 120* angle from each of the others and to accomplish this just rotate by 30 degrees on the X and then Y axis.

But, I figure the Tangent30 trick is simply a shortcut that already took projection into account so that I don't really need to worry about anyway, so I'd just use Tangent30 personally.


Square still it is :P. Despite the representation of this object in a pseudo 3D-to-2D world transform using orthogonal projection, we still calling a square a... square!, not a diamond (rhombus).

Posted on 2004-12-31 16:38:17

Zip

Jesus. Look did you bother reading the links I posted? Sure it should be 35.somethingsomething...deg but not only is 30deg much easier to work with, but it tends to look nicer to. If you want to faff around, feel free to make an isometric tile engine, but all you've really done here is unnessersarily confused the issue.

Zip

Posted on 2004-12-31 17:43:52

anonymous

Look, can we clear this up?



1. I am talking about the bounding box size of an isometric tile and figured a convenient way to arrive at it would be to rotate an actual 16x16x16 tile in 3D space by rotating it around the vertical and horizontal (Y and X) axis by 30 degrees. After which Zip tells me the Tangent30 will do the same ratio for width and height on a 2D plane anyway which was what I wanted.

2. Hellhound is talking about rotating and projecting actual 3D scenes.

3. Zip is talking about rotating lines from the center 0,0 of all axis at 30 degrees from the perpendicular X axis on a flat 2D plane.

4. We all think each of us are talking about the same thing.

If that's right...then I kept up with this.

--Omni, ...anonymous again

Posted on 2004-12-31 19:39:55


Displaying 1-15 of 15 total.
1
 
Newest messages

Ben McGraw's lovingly crafted this website from scratch for years.
It's a lot prettier this go around because of Jon Wofford.
Verge-rpg.com is a member of the lunarnet irc network, and would like to take this opportunity to remind you that regardless how babies taste, it is wrong to eat them.