I wonder how I can displaying vehicle damage. I am talking about a good way to show damage on screen. Which kind of models are common in games and what are the benefits of them? What is state of the art?

One way I can imagine is to save a set of textures (normal/color/lightmaps, etc.) to a state of the car (normal, damage, burnt out) and switch or blending them. But is this really good without changing the model?

Another way I was thinking about is preparing animations for different locations on my car, something like damage on the front, on the left side/right side or on the back, and start blending the specific animation. But is this working with good textures?

Whats about physics engines? Is it useful to use it for deforming vertex data? I think losing parts of my car (doors, sirens, weapons) can looks really nice.

My game is a kind of RTS in a top down view. vehicles are not the really most important units (its no racing game), but I have quite a lot in.


1 Answer 1


you could start incrementally adding car scratches or dust by using the stored textures as you first mentioned. The advantage of this method is its good performance. Another advantage is that with bump mapping effects you can realisticly simulate small damage.

If all this works as you expected i would recommend to complement this with a physics engine library and handle all the collisions and parts that could fly off. Soft-body deformations may or not be supported by the physics engine.

I would discard premade animations or colision states, since most of the times they generate an unrealistic feeling.

  • \$\begingroup\$ thx for answer. i can imagine to have a set of damage texture for one typ of car (normal, truck, pickup, etc) and use them for the special case. would you prefer switching completely or blending them? \$\endgroup\$
    – norca
    Commented Sep 16, 2012 at 19:25
  • \$\begingroup\$ blending, so you can achieve correct 'acumulative damage' \$\endgroup\$
    – labotsirc
    Commented Sep 20, 2012 at 21:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .