Flamethrower Effect

Doing some work recently on flamethrower effect for a client. This is progress made over the course of two days. I completely changed my approach in the latter half of the second day and I think the results were improved considerably.

Day 1 

Transparent spheres with refraction and a flipbook sprite animation baked from a fluid simulation in maya to create the ‘flames’

baf73c3002b3726adf62c2d9a25cc6b0

  • Overall the effect looks quite naive and unrealistic
  • Can see clear repetition of the fire sprite
  • something odd about the ‘spit’ droplets
  • the fire sprites rotate to face the camera, which looks on in VR
  • There is no smoke coming from the fire

Day 2 Morning

Looked at reference material and tried to copy the motion of the fire more accurately, switched from translucent blending to additive. Locked the ‘spit’ spheres to uniform scaling so that droplets were all perfectly spherical.

464103c1525731e5057c31e547980349

  • There is still repetition of the fire sprite
  • Sprites still rotate to face camera
  • The color of the fire is too uniform and does not match the reference
  • No smoke

Day 2 Afternoon

Started using blackbody node in Material Editor, driving the temperature with the red channel of a particle colour node. This was done to more accurately emulate the falloff in heat over time.

f4a8bf3b2093a43c0b14c60de4cc19a5

  • Repetition is less noticeable with the colour gradient in effect
  • The rotation is still an issue
  • The fire looks like it is dissipating and smoking more believably

Day 2 Evening

Studied reference material more closely, observed that flamethrowers seem to be made up of lots of smaller explosions and flames grow outwards spherically. Replaced the flipbook sprite with tessellation distorted spheres that grow over time. The tesselation uses procedural noise which pans in the +Z direction, (upwards). There is a constant acceleration in the -Z axis to mimic the effects of gravity, but, over the life of each particle, a force in the +Z direction grows until it overcomes the gravity effect, which mimics the convection effect of the fire.

5343e552232628af80b2c8c064a203a1

  • There is still repetition, although it is less noticeable
  • As the fire uses geometry, the screen facing rotation is now non-existent
  • The fire looks much closer to the source images.
  • The fire looks good from multiple angles
  • The fire is expensive to render due to lots of overlapping transparency, panning procedural noise and tesselation.

In Conclusion

There is still a bit of work to be done in regards to optimizing the effect for virtual reality. But overall I am pleased with the visual result that I have achieved so far, and I think my approach would be suitable for a variety of effects, particularly those that are intended to be seen in VR headsets where a more ‘volumetric’ look might be more desirable than a flat animated sprite.

Perhaps combining this approach with smaller sprites could produce a greater effect!

The effect isn’t perfect, and I would love to hear from people with criticism. However, It goes to show how much of an improvement can be made in a very little amount of time if you are willing to experiment and close attention is paid to reference material!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s