Bounding Shapes static or dynamic

Started by
4 comments, last by frob 9 years, 11 months ago

Hello, I am new at 3D game programming.

I have decided to get started using Irrlicht and bullet.

Since I am starting I have many doubts about how 3D games are made.

I was wondering how collision is usally implemented.

Let me explain, I have read that you can make a model in blender and export to a bullet format and also export to a format that Irrlicht can read for rendering. Then you can update the Irrlicht position and rotation from the position and rotation bullet returns as a result.

But many times I think this way of doing things can improved in terms of efficiency.

For exaple, look at this 3D model:

000-3d-model-Fence_07_hd_01.jpg

Do I really need that fence to be that so detailed in the bullet model? I don't think so.

Probably the fence is not going to move and probably I don't want small objacts to go through the fence.

I think that a box would be a good simplification.

In general, I think that many times models could be simplified in a small set of very simple shapes.

Are the kind of simplifications done in practice? Are they handcrafted or produced automatically? What happens when skeletan animation is involved?

Thanks and sorry for my english.

Advertisement


Are the kind of simplifications done in practice?

Yes. Typical bounding volumes are bounding boxes, sometimes orientated (OBB), sometimes axis-aligned (AABB), or spheres / ellipsoids or capsules or cylinders. Sometimes a couple of simple volumes is arranged so that together they give a less simple form.


Are they handcrafted or produced automatically?

AFAIK both.


What happens when skeletan animation is involved?

It depends on the needs. Bounding volumes can be transformed as well. Assume a biped body with some capsules and a sphere composed as bonding volume, there is no principal reason to not transforming them accordingly to the skeletal animation.

Way too many questions to be discussed thoroughly in a single topic.

No - the fence normally would need not be so detailed for collision. However, you may want small objects (bullets?) to pass through the fence.

Yes - a box would probably serve as a collision object for the fence. A simple plane may serve as well.

Yes - complex objects can be simulated by combining several simpler shapes.

Depends - some objects may be simple enough to have auto-generated collision shapes; others you may want to design in more detail.

Collision of skeletal animation objects is often done using OBB for each "bone."

EDIT: ninja'd - see haegarr's comments for similar answers.

Please don't PM me with questions. Post them in the forums for everyone's benefit, and I can embarrass myself publicly.

You don't forget how to play when you grow old; you grow old when you forget how to play.

There might also be some LOD system with the collision volume. For example, that fence might have a AAB or OBB, but then it might also have each post modelled separately, so it's got an easy out, if it doesn't hit that AAB/OBB or whatever, no need to go in and check every single fence slat to see if my arrow shot through the slat. (Depending on the game, that might be something you want)

At the end of this page, you can see simplified collision volumes for an Unreal Map.

Just to keep things in the real world.


There might also be some LOD system with the collision volume.
Bullet does not support this.

Previously "Krohm"

Many game engines support many different things.

Quite a few 3D games actually build the world as 2D footprints, either instead of or in addition to a spatial tree. The footprint can be used (as a bounding rectangle) rather than more complex objects. Also many games allow multiple footprints or multiple bounding shapes. There might be an 'object placement' footprint, an "in use" footprint, a "path finding" footprint, a "path deterrent" footprint (where you can travel if necessary but would prefer to avoid) and more. The details are up to the specific game.

Quite a few games allow the developers to mark objects with various attributes for collision. Some objects do not prevent path finding, some objects block path finding, some objects create portals in pathfinding (like doors and bridges). Similarly with physics, some objects are marked as solid for physics, some are marked as non-physics, and some are marked for polygonal or even custom collision steps.

It is very often part of the modeler's responsibility to create and include collision information in the system. I don't know about Irrlicht specifically, but generally modelers can provide a visual model that is different from the physical model.

This topic is closed to new replies.

Advertisement