• Advertisement
Sign in to follow this  

Does this type of collision phyisics have a name?

This topic is 1397 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

For years I've been using a collision system that involves each object having a radius and checking if the distance between the two objects is less than the sum of the two radiuses(radi?). Essentially it uses circles instead of boxes for collision checking. It works rather well for 2d space sims and any game that uses a top-down view. But I don't know if it's a common technique and if it is I'd like to know what it's called.

 

Also are there any significant drawbacks to using a system like this?

Share this post


Link to post
Share on other sites
Advertisement
As for drawbacks, the main problem is that a circle is not necessarily a close enough representation of your object. For a long thin object the bounding sphere will contain a huge amount of empty space. That will lead to a lot of false positives in intersection tests. An axis aligned or oriented box is a tighter fit in many cases.

Whether circles are good enough for your circumstances, well, that of course has more to do with your circumstances than the circles. Edited by BarrySkellern

Share this post


Link to post
Share on other sites

In addition (or more likely substraction) to BarrySkellerns post you can make those bounding-"circles" fitting more closely by calculating them to ellipses using matrices, as long as you are having basic understanding how matrices work and use them of course.

 

For games where you have to cheat, whenever a player is unlikely to see the trick, they are even precise enough for most collision detections whenever the player can't see the difference.

 

There is no actual general drawback of this method to others.

Edited by IceCave

Share this post


Link to post
Share on other sites

Thanks for the responses. I might play around with the elipse idea later. Honestly the idea already occurred to me but I haven't really felt the need to put the time into implementing it. Getting all my objects to bounce off eachother properly is hard enough without adding shape variations into the mix.

Share this post


Link to post
Share on other sites

A good example of the limitations of sphere/circle tests for me is the old wing commander games.  They had simple sphere checks, and because of that anytime you got near a large ship you would suddenly collide with it, even if you were actually way above it.  Contrast that with the first X-wing game, which had a more complicated check, and suddenly you could fly in between the shield generators on a Star Destroyer, and it was amazing at the time.

Share this post


Link to post
Share on other sites

Well I definitely wouldn't use it for large, complex objects, especially in a 3d space sim. The engine I'm working on uses circle collision for game objects and circle-line collision for game objects interacting with static objects like walls and such.

 

I don't really have a hard time coding more complex collision systems, but the problems arise when I want to apply physics to those collisions. At that point I'm pretty much coding my own version of Box 2d which would be an extreme amount of work. With circle collisions I can simply limit the physics system to billiard physics, allowing for realistic physics at the cost of collision accuracy. It's a trade off I'm happy with.

Share this post


Link to post
Share on other sites

There are also systems that use a hierarchy of spheres to more tightly represent the object. So the parent level is a large encompassing sphere but then the children are smaller and more of them etc. It can be taken to the level desired to get the fit required. But at some point the multiple sphere intersections will become slower.

 

I am assuming you are using the squared distance for comparison as well.

Share this post


Link to post
Share on other sites

There are also systems that use a hierarchy of spheres to more tightly represent the object. So the parent level is a large encompassing sphere but then the children are smaller and more of them etc. It can be taken to the level desired to get the fit required. But at some point the multiple sphere intersections will become slower.

 

I am assuming you are using the squared distance for comparison as well.

 

I'm not, actually. Is that supposed to do something?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement