Isometric - Too ambitious?

[size=4]3D Movement[/size]
Exciting eh? Well theres really not much going on here other than adding a new span of heights to the existing movement in an isometric scene. The hard part has already been done - thats the movement within the skewed isometric surface. This new 3D angle is straight up and not skewed at all. Its the ‘normal’ one in the bunch. This makes our job a lot easier. To use this new dimension all you need to do shoot up your object at a real distance of whatever you want. Calculations not required.

Lets take a look back at the iso cube.

Confusion alert!
Before, in moving in 2D space, we used x and y to represent positioning. This seemed completely logical since we are used to dealing with that in all other terms. Here, however, when adding in this 3rd dimension in the isometric world, we’re adding a dimension which cooresponds directly with _y. The thing is, our concept of isometric y is already taken up in one of the original 2 dimensions. This third dimension, aka ‘z’, is not your normal z of back in depth, but your normal y instead. Because of that, confusion can occur. The best thing to do is think of the isometric space as looking striaght down on it. Then this z axis is actually going in with depth and not up as y should.

With that being said. What does it take to get up there in that 3rd dimension? Well, only a change in a movieclip’s _y. Want the clip to move vertically in space 10 places, add 10 to its _y and you’re good! As easy as that seems, sadly, it doesnt stop there. What you need to do aside from that is also keep track of your z movement. Otherwise, whats to prevent you from thinking your object just moved diagonally in your original isometric plane?

You can see here that these two balls are physically at the same height and it could be assumed the blue ball lies on the square directly left of the red ball though the dotted lines indicate that blue ball is in fact closer to you and elevated into 3D space. So to keep track of this, we need to include in an isometric objects properties a z property to distinguish its position in the z or vertical space. Positioning the object is just a matter of positioning normally with no z positioning and just uping the _y of the object by z afterwards to give it the height.

In terms of code, not much is added or changed at this point aside from adding the z property in to objects in the isometric space. This will also be added to the point class so a point will represent not only x and y dimensions but also z. Other operations, however, don’t have to really be altered so much (aside from just throwing in a z property) since the nature of this z dimension is just that which was described above; only a matter of adjusting _y post-normal movement.

So heres an example in iso-3D.

[swf=“http://www.umbc.edu/interactive/flash/tutorials/isometric/flash/iso_example3.swf height=300 width=300”][/swf]
[ download ]

Along with what was described above, added to this example is some simple collision detection in the 3D space too. All that entails is just keeping references of those cube’s locations in a 3D array (array for each dimension) and just seeing which isometric girid spot the ball is in and checking to see if the ball is in the same location as a cube. If so, the cube clip is played displaying a shaking animation.

Depth swapping here, btw, is based on the previous explanation in 2D. This is because no matter what the height of an object in this 3D space, its closeness to you will never change so its arrangment in the space doesnt really change. The problem, however, as previously mentioned, is that once you have a lot of clips on the screen, they’ll start trying to share the same depth swapping each other out of their calculated depths and into their last. This is because the same depth is obtained for a whole plane of movement along left and right and up and down. Methods of handling that can be discussed later. I think the next installment will be about actually putting all this crap to work in a fully functional isometric example. Theory and mumbo jumbo is one thing, but making it work is another :wink:

*Originally posted by SX1Dude *
I know we share the same Birthday Sen…

So does soul ( :s: ) and digitalpimp =) Its a good day :wink:

*Originally posted by senocular *
**Im writing this part of the “big iso explanation of 2003” as we speak. Actually, I can post that part now. Its just the beginning of it all but it wont hurt to throw it in early :slight_smile: **

Just noticed this entire posting today (a month late!).

I wanted to add to this that Senocular has a wrong description of Isometric. Isometric does not mean without perspective as it is implied in his first ‘lesson’. Othographic Isometric perspective is the single and only thing being described in this series of articles, which is an Isometric projection that has no perspective.

Just an update. There are many types of Isometric projections, the most common of which is what we normally use daily.

cheers.

how about depth sorting when you dynamically add tiles to the world where each tile needs a depth. and what if each tile has a different height and different _y (height off the floor). how would you handle this z-sorting?

I believe what Ember is looking for is to make a movie clip of the walking animations of the little person and then when someone clicks something, to ease the mc of the person to what was clicked.

Me Want More!

hehe, Been trying to look into Isometric thingies for a while now, hopping it would some how help me out with a menu I am making.

These long posts and piccies ya have done up are very informative :slight_smile:

ACK! Where is my Isometric fix of the day :!:

Did this post get moved some where or just ended? I was really enjoying these.

Yeehaa!!! :cowboy:

this will be under tutorials when it is “done” right?
It is helpful enough to be there already.

Thanks, but I dont need anything quite that complex… I am just wondering how to move a movie (cant remember what your meant to call it) - along a path when a user clicks something =\

Hmmm

ponders

Maybe ahmeds thing will be my best bet… I havent a clue really… maybe I’ll just have animations going on and then wont bother having the person going to the object…

I think you got it, I want to have a little walking animation, and when someone clicks an object (only certain objects will be clickable) the person will do the walking animation and follow a set path from where they are, to the object… preferably in an isometric way, ie. down and then across - not diaganally.

Thank anyways, I hope someone works out how to do this :slight_smile:

looks around in a dazed confusion

Most of that was so far over my head it was insane!!

I understand a bit of what you’ve written, such as the word “button”… I am gonna go read all the tutorials on this site until I undertand something!

You my friend… are a god. I already understood isometric stuff, but I am sure people will love this… it certainly clears up a few things in my mind. Cant wait for the next bit :slight_smile:

You should feel honored. I wish Senocular would develop a book around one of my questions. Do you work man? Your explanations are incredible.

Congratulations senocular
This thread is awesome
:thumb:

Has the wonderful isometric thread come to and end ?..:*(

Yeah Sen…I think they say ROCKS :phil:…was yours an isometric question ?

Seriously thought Sen if you catch this…“big iso explanation of 2003”…in development ?

=)