Graphics Reference
In-Depth Information
than the corresponding rendering geometry, the permanent memory footprint is
therefore reduced.
6. The original geometry might be given as a polygon soup or mesh, whereas the
simulation requires a solid-object representation. In this case, it is much easier to
compute solid proxy geometry than to attempt to somehow solidify the original
geometrical representation.
However, there are some potential drawbacks to using separate collision geometry.
1. Data duplication (primarily of vertices) causes additional memory to be used. This
problem may be alleviated by creating some or all of the collision geometry from
the rendering geometry on the fly through linearization caching (as described in
Section 13.5 and onward).
2. Extra work may be required to produce and maintain two sets of similar geometry.
Building the proxy geometry by hand will impair the schedule of the designer
creating it. If it is built by a tool, that tool must be written before the collision
system becomes usable. In addition, if there is a need to manually modify the tool
output, the changes must somehow be communicated back into the tool and the
original data set.
3. If built and maintained separately, the rendering and collision geometries may
mismatch in places. When the collision geometry does not fill the same volume
as the render geometry, objects may partially disappear into or float above the
surface of other objects.
4. Versioning and other logistics problems can show up for the two geometries. Was
the collision geometry really rebuilt when the rendering geometry changed? If
created manually, which comes first: collision geometry or rendering geometry?
And how do you update one when the other changes?
For games, using proxy geometry that is close to (but may not exactly match)
actual visuals works quite well. Perceptually, humans are not very good at detecting
whether exact collisions are taking place. The more objects involved and the faster
they move, the less likely the player is to spot any discrepancies. Humans are also bad
at predicting what the outcome of a collision should be, which allows liberties to be
taken with the collision response as well. In games, collision detection and response
can effectively be governed by “if it looks right, it is right.” Other applications have
stricter accuracy requirements.
2.2.3 Collision Algorithm Specialization
Rather than having one all-encompassing collision detection system, it is often wise
to provide specialized collision systems for specific scenarios. An example of where
Search WWH ::




Custom Search