Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I understand how box collision, sphere collision, and other such collisions work. However, how would one implement realistic 3D collisions? That is, objects would interact with one another as they would in real life. For example, take a rod and a torus. Assume that the thickness of the rod is smaller than the hole in the torus. With simple collision systems, as far as I know, inserting the rod into the hole of the torus would result in a collision detection. In reality, no collision would take place. Hopefully, that explains what I am looking for.

share|improve this question
    
What have you researched so far? Why do you assume a anything would collide with an open hole in a torus, for example. –  Patrick Hughes May 25 '13 at 23:19
    
Just use the model itself for collision detection, instead of simpler collision meshes. Be aware that this would consume a lot of execution time though. –  Adam S May 26 '13 at 0:30
    
@PatrickHughes, from my understanding of box collision, for example, a box surrounds the model in question (the torus) and would be used for collision detection. –  LucasS May 26 '13 at 1:11
4  
You're asking for an entire education in physics engines which includes: linear algebra + trig, brep models, spatial partitioning, solid body physics formulae, calculus for integration, and a basic understanding of simulations. And that's not even including the religious differences between impulse/response and continuous integration strategies. But if you really do understand box collisions, then imagine your torus made up of a bunch of tiny boxes... of course nothing would hit the boxes since there are none in the hole. That's how it works =) –  Patrick Hughes May 26 '13 at 1:46
1  
That's really nothing that can be answered in a comment. You should invest in a book about that topic, like amazon.com/Real-Time-Collision-Detection-Interactive-Technology/… –  Adam S May 26 '13 at 12:43
show 1 more comment

closed as not a real question by msell, Maik Semder, Anko, Byte56, Tetrad May 30 '13 at 22:02

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

1 Answer

up vote 2 down vote accepted

You can compound various primitives together to add accuracy to your collision model. For instance in your torus example, you could have a bounding box or sphere around the entire model but then also have a sphere that just encompasses the torus' hole. Then the algo would go: if rod is in box but not in holeSphere, then it's colliding, else if rod is in box and holeSphere, it is not colliding.

You can often use a few basic primitives (planes, rays, boxes, spheres) together to get an acceptable level of accuracy.

Definitely get 'Real time collision detection' by Chtister Ericsson,.

share|improve this answer
    
Thanks, will definitely be getting this book –  LucasS May 26 '13 at 17:10
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.