PDA

View Full Version : Collision detection

02-11-2003, 07:34 AM
Hi! I wonder how can i check collisions with non-simple objects. Being more precisly - i have 3d terrain map and i want to check if i am going through the ground or not. Any ways I could do it?

Thanks!!!

JustHanging
02-11-2003, 10:10 AM
Hi,

If it's a heightmap, all you have to do is to check whether you're above the ground. Something like

if myHeight < heightmap[myX, myZ] then damnIHitTheGround();

In general, collision detection isn't opengl related, so you might more information on some game developement sites.

-Ilkka

chxfryer
02-11-2003, 10:59 AM
Check out www.gametutorials.com (http://www.gametutorials.com) for some collision detection tuts.

02-11-2003, 11:08 AM
Thanks. Indeed it is a way to that but it won't be any precise method I think. Collisions would look like that :

X------------
| |
X------- X--------
|
|
X-------------

I mean that terrain isn't usually flat. Meaby i am thinking in a wrong way. Whatever...

Although thanks. Meaby I should check some game development site.

02-12-2003, 10:11 PM
linearly interpolate the ground height based upon the surrounding height map data

heightmap data ( 0 or 1):
0 0 0

0 1 0
A X B
0 0 0

if you are at position (0.5,2.5) as shown by X find the height of the ground under X

1) find equation of line between known points AB as z = f(x)
1A) find gradient - note gradient cannot = infinity so we dont have to deal with that case
1B) find "b" (y=mx+b)

sub new X value into z = f(x) to find new Z value

im not sure if you need to repeat the process for the z=f(y) and average them. ive got a hunch that they will be the same in all cases. im not going to figure it out. http://www.opengl.org/discussion_boards/ubb/smile.gif

standard disclaimers for stupidity apply

02-13-2003, 04:48 AM
I'll check it out! Thanks