Sign in to follow this  
dmtuan

Fire, Water, Air, Lightning Effects

Recommended Posts

Hi,

 

I am writing my own engine in DirectX using SharpDX for a game I am making. So far I have a running engine, that can render characters, animate them... they can do fighting moves etc. I need to make my characters to do some attacks and I need to do effects like shooting firebals, cover a character in flames, get fire to envelope characters hands, shooting lightning, paralized effect (electrified effect on character) or air slashed, air flow covering body, water bolts, etc.

 

How would one achieve these effects and what approaches could one take? Particle system? Using transparent textures? Shader techniques? Or do the work in a modeling program and then try to get the effect to the engine?

 

I am also thinking about effects like a dragon head (modelled in a modeling program like Maya) made of fire/water... something like Water Dragon Attack or something, y'know.

 

I will be glad for any tips, pointers... thank you in advance.

Share this post


Link to post
Share on other sites


(Billboarded) quad with animated texture.
 
For most of the rest, it depends. Are you working in 3D with skinned meshes? 2D with animated sprites?

 

Is animated texture in a quad going to be enough to make a good effect? Imagine I would like to render more the shooting fireball from more looking points... fireball coming at me, fireball that I shot coming away from me, maybe a side view.

 

I have a working 3D engine, rigged and skinned models with working animations.. the characters are moving in the rendered scene.

Share this post


Link to post
Share on other sites

I think this is really the concern of the artist not the programmer. All the programmer has to do is provide an engine that accepts a format that describes the texture quads motion and other parameters to animate them. Your engine could do some glowing effects and motion blur on top if the artist set format parameters for that.

Share this post


Link to post
Share on other sites


I think this is really the concern of the artist not the programmer. All the programmer has to do is provide an engine that accepts a format that describes the texture quads motion and other parameters to animate them. Your engine could do some glowing effects and motion blur on top if the artist set format parameters for that.

 

Ok.. then what exactly does the artist provide? I am 1-man team, I do all the art work a programming :D... what are you suggesting then? How the workflow would look like?

Share this post


Link to post
Share on other sites

You could look at how Skyrim does fireballs.

 

A single textured billboard should work just fine really...

(Billboards are meant to be rotated to the camera)

 

Might have to do something fancy if you want the fireball to have a tail...

Share this post


Link to post
Share on other sites

 


I think this is really the concern of the artist not the programmer. All the programmer has to do is provide an engine that accepts a format that describes the texture quads motion and other parameters to animate them. Your engine could do some glowing effects and motion blur on top if the artist set format parameters for that.

 

Ok.. then what exactly does the artist provide? I am 1-man team, I do all the art work a programming biggrin.png... what are you suggesting then? How the workflow would look like?

 

 

I like to think of a visual effect is like a particle system. In fact, lets just call the visual effect for a particle system.

 

A particle system is a collection textured quads that spawn, animate, and die over a time line. So first order of business is to define a list of all possible quads that can be drawn for a particle effect, a quad for the fireball, a quad for the smoke and a quad for fire sparks, then use that list as an instance resource. You only need one instance of the fireball quad, but perhaps maybe 100 smoke quads to make a realistic trail.

 

Now you create an "animation track" for each instance, such as spawn time, motion, and time of death. This is a static system that always looks the same.

 

If you want you can make things more complex by not animating the smoke trail, but rather setup a particle emitter system that attaches to the fireball. This is a dynamic system that looks different based on how far the fireball must travel, wind speed and so forth.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this