Advertisement Jump to content
Sign in to follow this  
polyfrag

Convex hulls in modern games

This topic is 1859 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

Does Unity and other modern games still use convex hulls? Or do they check for collisions with polys?

 

What about Doom III and Rage? Don't they somehow separate the collision model from the rendered polys?

Share this post


Link to post
Share on other sites
Advertisement
I would say most modern engines collide on polygon level, but use various detaillevel of collision geometry. thats why you can buy objects with ccollision proxies in the unity asset store

Share this post


Link to post
Share on other sites

I think most modern games will use the simplest representation they can get away with for physics. That means there will almost always be a separation between collision mesh and render mesh. They will often use convex hulls or a couple of convex hulls attached to represent objects, or even simple geometric shapes like boxes, spheres and cylinders when they can get away with it.

 

Typically for environments it'll be a polygon soup, but lower detail than the render mesh.

For objects/characters in order of preference it'll be geometric shapes, single convex hulls, multiple convex hulls, then quite rarely, non-convex polygonal shapes.

Share this post


Link to post
Share on other sites

Yeah, they're used all the time, as are simpler things like spheres and AABBs.  A game usually does some sort of tiered check, something like

 

Given a point

Is it within the collision sphere?

Is it within the convex hull?

Is it hitting a polygon on the model (and sometimes this is a separate collision mesh)

 

And some games do less than that, Mechwarrior Online, for example, the models are represented by a series of boxes.  (As are many shooters)

 

And that's also skipping another check, which might be, checking only objects that are in the same node of the octree or some other culling / grouping method.

Share this post


Link to post
Share on other sites

Tri-mesh vs Tri-mesh is a very complex operation, so typically you might find that an environment is represented as a tri-mesh, but then the objects in that environment are simplified (spheres, boxes, convex shapes, etc).

Share this post


Link to post
Share on other sites

I think the vast majority of people use compound primitive shapes or convex hull, depending. Compound shape is probably more useful in many cases.

Edited by Promit

Share this post


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

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!