Advertisement

Quake + Unreal Terrain Collision Detection

Started by June 10, 2002 03:55 PM
9 comments, last by Yratelev 22 years, 8 months ago
Does anyone know how unreal, and quake''s characters can perfectly move around on the terrain? it cant be bounding boxes, cos ur inside the rooms. And if ur going to say BSP''s plz expalin wot they r and how to use them! Cheers, Yratelev.
Yratelev
Quake (yea, even unto Quake III) definately uses bounding boxes. Look again.
Advertisement
Does it use bounding boxes for the terrain collision? i dont care about object/object collison, i mean the terrain and rooms, but if ur rite, ur rite, cheers for the help, but peeps, keep on replying!

Yratelev.
Yratelev
the terrian is made with objects.
"I seek knowledge and to help those who also seek it"
Most of the terrain is NOT made with objects, only the part of the level you can interact with are objects. For example a door is an entity.

When the level is compiled as a BSP it''s no longer brushes it becomes polygons.

The Quake3 Engine uses Cylinder as bounding boxes for the players and they are checked for colison with the polygons. But I don''t know exactely how they do that part.
Ah kern, now ur talking! yeh thats wot i want to kno, the terrain polygon, and object collision, so if theres anyone out there who can help, speak now!!! cheers all

Yratelev
Yratelev
Advertisement
I can't speak for Quake 3, I heard somewhere they were using the brushes, but Q1 definitely uses axis-aligned bounding boxes for the objects and collides them with the BSP tree. The way they do this is that they store 4 different trees, one regular tree used for culling and three collision hull trees, used for 3 different sized objects (missiles, small things, people).

The BSP trees are 'expanded' at compile time which means that the collision engine only needs to clip a single line segment into the BSP tree in order to determine whether it is in solid or in space (and also where the collision takes place). The actual technique is a little more involved (requires bevelling) so try searching the web, I got the basics from a paper by Stan Melax here (not quite the same because the paper is about dynamic expansion rather than static expansion as Q1 uses) and looking through the Quake 1 source code. I believe Quake 2 uses a similar system.

Unreal I think is similar but uses cylinders instead of AABBs.

Also, Quake 3 Team Arena added heightmapped terrains into the equation and I'm not sure how they are handling this but there are many ways for that to work.

[edited by - JuNC on June 12, 2002 12:07:40 PM]
quote:
Original post by Kern
Most of the terrain is NOT made with objects, only the part of the level you can interact with are objects. For example a door is an entity.



Actually, the doors and such are built right into the .BSP file.

quote:

When the level is compiled as a BSP it''s no longer brushes it becomes polygons.



Correct for display purposes, but not for collision. The BSP/Brushes are retained for collision detection. The player/object bounding volume is passed through and checked against the planes retained in the BSP tree.

Yratelev, If you want to know how BSPs work, go to the articles section and read up there. I don''t think you''re going to get the info you want out of a forum post.



i kno i kno, ive got enuff here now thnx guys, specially the paper junc gave me, cheers junc

Yratelev.
Yratelev
AABB`s ?
Whats that deabbreviate out to ?

Bugle4d
~V'lionBugle4d

This topic is closed to new replies.

Advertisement