Quake + Unreal Terrain Collision Detection
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
June 10, 2002 04:10 PM
Quake (yea, even unto Quake III) definately uses bounding boxes. Look again.
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.
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.
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
Yratelev
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]
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.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement