Explosions in Starsiege: Tribes and Tribes II
by Tim Gift · 12/01/2000 (8:30 pm) · 4 comments
Someone in the forums asked about explosions and I thought I would post a few comments here. Things may have changed since I left, but the basic T2 (and previously Tribes 1) explosions are a combination of an animating 3Space shape and particles.
The core shape is a triangle mesh hemisphere onto which is mapped an animating texture. The animating texture is the central effect of the explosion. For the big explosions, the animation starts small and expands out into a big fireball. The hemisphere is normally a fixed size, set (or scaled) to the maximum size of the explosion (the mesh size was sometimes animated). In it's initial frames the texture animation is mostly translucent, so the explosion would appear small though the hemisphere was potentially much larger. The edges of the texture are transparent and the hemispherical shape of the mesh is not normally apparent. The animation texture size and number of frames is kept to a minimum for better caching with hardware accelerators. When rendered, explosions are simply z-buffered into the scene, and because of their hemispherical shape they sometimes partially obscured other objects which helps give them a 3D feel.
When an instance of an explosion shape is first constructed on an client, it's oriented so that the hemisphere faces the player's current viewpoint. It is also given a random rotation around it's central axis to help make each explosion look unique (this rotates the texture). Unless the player changes viewpoints (to a camera or turret), the orientation of the explosion is not changed in subsequent frames. This allows the player viewpoint to move in relation to the hemisphere which help emphasize it's 3D nature (as opposed to a billboard which always faces the current viewpoint). Theoretically a player moving fast enough can get behind an explosion for a distorted view, but this is not an issue in practice.
At the time of impact a number of particles are also generated (in T2 this is all script driven). The surface normal at the point of impact and the projectile velocity are used to calculate the initial velocity of the particles, one so that they would inherit some velocity from the projectile, and the other so that they wouldn't all travel into the surface being impacted. A random number generator varies the density of the particles and also contributes to their initial velocity which helps give each explosion a unique feel. T2 also constructs the particles in a volume around the point of impact which gives them a good initial distribution.
All the particle textures were done in house, but some of the explosions were purchased as part of collection of stock fire animations. The stock animations were heavily modified, but were a good starting point for some of the large fireballs.
That's the basic explosion, on top of that objects could be broken up into smaller debris shapes which were ejected when an object exploded.
I'm sure a few pictures would help, if I get some time I'll add them.
The core shape is a triangle mesh hemisphere onto which is mapped an animating texture. The animating texture is the central effect of the explosion. For the big explosions, the animation starts small and expands out into a big fireball. The hemisphere is normally a fixed size, set (or scaled) to the maximum size of the explosion (the mesh size was sometimes animated). In it's initial frames the texture animation is mostly translucent, so the explosion would appear small though the hemisphere was potentially much larger. The edges of the texture are transparent and the hemispherical shape of the mesh is not normally apparent. The animation texture size and number of frames is kept to a minimum for better caching with hardware accelerators. When rendered, explosions are simply z-buffered into the scene, and because of their hemispherical shape they sometimes partially obscured other objects which helps give them a 3D feel.
When an instance of an explosion shape is first constructed on an client, it's oriented so that the hemisphere faces the player's current viewpoint. It is also given a random rotation around it's central axis to help make each explosion look unique (this rotates the texture). Unless the player changes viewpoints (to a camera or turret), the orientation of the explosion is not changed in subsequent frames. This allows the player viewpoint to move in relation to the hemisphere which help emphasize it's 3D nature (as opposed to a billboard which always faces the current viewpoint). Theoretically a player moving fast enough can get behind an explosion for a distorted view, but this is not an issue in practice.
At the time of impact a number of particles are also generated (in T2 this is all script driven). The surface normal at the point of impact and the projectile velocity are used to calculate the initial velocity of the particles, one so that they would inherit some velocity from the projectile, and the other so that they wouldn't all travel into the surface being impacted. A random number generator varies the density of the particles and also contributes to their initial velocity which helps give each explosion a unique feel. T2 also constructs the particles in a volume around the point of impact which gives them a good initial distribution.
All the particle textures were done in house, but some of the explosions were purchased as part of collection of stock fire animations. The stock animations were heavily modified, but were a good starting point for some of the large fireballs.
That's the basic explosion, on top of that objects could be broken up into smaller debris shapes which were ejected when an object exploded.
I'm sure a few pictures would help, if I get some time I'll add them.
About the author
Recent Blogs
• Plan for Tim Gift• Plan for Tim Gift
• Eclipse Project for Torque
• Scene Lighting Patch
• Plan for Tim Gift
#2
04/26/2004 (7:57 am)
Never got around to those pics I guess
#3
Is there anyplace where I can get them to get a look at?
11/14/2004 (10:49 am)
I am curious to see some of the textures used (even if altered or something), so I can understand better the nature of what you're saying...Is there anyplace where I can get them to get a look at?
#4
01/24/2013 (3:57 pm)
http://www.fileplanet.com/30243/0/section/Starsiege:-TRIBES 
Devlin "Cliffswallow" Baker