Collision Detection - Will it ever be fixed?

ADV

First time out of the vault
Just a question for those that know, it's been rattling inside my head since the beginning of 3D accelerated games.

Why do 3D characters/objects/eye candy and environments always stick pieces of themselves through one another?

I think the term is 'collision detection' (correct me if im wrong).

Is it too soon to expect per pixel collision detection on current hardware?
 
ADV said:
Just a question for those that know, it's been rattling inside my head since the beginning of 3D accelerated games.

Why do 3D characters/objects/eye candy and environments always stick pieces of themselves through one another?

I think the term is 'collision detection' (correct me if im wrong).

Is it too soon to expect per pixel collision detection on current hardware?

It's not too soon. There's a new physics card dedicated to the subject. There's some very impressive photage around, some of it on their site.
http://physx.ageia.com/

The reason to the unrealistic collision detections these days are that they're simplified by bounding boxes (basicly a box the size of the actual model) and it lightens up the work for the processor, but this is about to change.


EDIT: Just saw there was already a thread for it :P
http://www.nma-fallout.com/forum/viewtopic.php?t=18699
 
Heya mate!

I understand the concept of bounding boxes and alike. I also know from dabbling in 3D max at uni that there are alot of 3D deformation and 3D particle generation techniques that have been around for years that have yet to be included in real time 3D engines. For example volumetric lighting (which I see is coming in DX10 - farcry 2).

What im trying to say is, has there been a 'technique' developed that deforms objects in relation to them touching another object.

The water in oblivion is probably the closest to what im trying to say. The waves of the water react to the players movement, but not to environmental objects e.g where a stone boulder is in the water, the edge of the stone boulder and the edge of the water don't react properly. It looks like the water is a giant polygon with a deformation shader placed upon it (which it probably is and I imagine any other solution would be too complex for todays GPU's).

Another example is Unreal Tournament (the original). The Shock Rifle - you right click and shoot a ball of energy and then left click and shoot the energy ball creating a force that explodes from its centre outwards. If you shot it near a wall the animation of the explosion (flat texture animation?) was so big it would appear to go through a wall.

Other examples include, NPC's head and arms protruding through doors, Fire represented as two sprites that intersect each other creating the illusion of 3D - so bits of it stick into other objects, HL2's Bullets hitting water effects - not reacting with the water.

Do you think physx could possibly allow for such complex calculations?
 
there's a good example of objects bending eachother in realtime by applying force (falling etc). Can't find it right now though... (a bit drunk, will try again tomorrow) but I remember looking at it at the ogre forum (www.ogre3d.org, great rendering engine!).There was some kind of demo on the subject made by some students..

The water in oblivion is a commonly used technique but there is greater examples of water up ahead (I believe theres a good one included in the ogre engine demos if I'm not mistaken). a lot of papers written on the subject. Anyway, bounding boxes will be history shortly and will probably only be used in MMO's from now on (since it's hard to control that the movements are the exact same on each client.. hard on the server).

As for explosion effects the most common way to do it is with flat textures playing an animation (easy on the processor and easy to create). I guess volume explosions will appear soon since the consumers want it. (a lot more complex particle effects etc. project offset had a great demo on particles)

Trees are usually made up of a 3d trunk and sprites (2d textures) for leafs. Oblivion used speedTree (http://www.speedtree.com/) for it and if you walk around the trees you can see the leafs (the sprites) always facing you when you walk around it. Since we're constantly moving forward in techniques we will hopefully see a change in this area too =)

I believe the physics card can help us in many areas. Yet some are up to the artists, as usual.
 
that is really sweet! great that they've finally caugth up with the demand. I've read about programmed animations (instead of animated ones) on ogre3d but this seems to be so much more than that. thanks for the links man!
 
Back
Top