Game Development Community

Particle effects for fire (i.e., stuff burning)?

by Geom · in Torque Game Engine · 09/11/2010 (4:16 am) · 7 replies

Anyone know of any

tutorials,
examples, or
content packs...

for creating fire particle systems for TGE?

Doing a quick search in the forums hasn't turned up any examples. I'm surprised. I know that TGE 1.3 had those campfires, but that's the only example I've seen. Surely there's more...

#1
09/11/2010 (5:52 pm)
The fps examples all have examples of particle effects as does Tim Aste's environment pack.
#2
09/12/2010 (12:24 pm)
Fire, as in simple effects for torches, campfires, fireplaces, etc? Or some means of propagating the fire effect to spread and burn other things - even doing damage?
#3
09/12/2010 (6:15 pm)
Just simple visual effects. I want to put the fire on buildings in my RTS to show that they're damaged.

Right now, I'm using the campfire (from the Stronghold fps example) on my buildings. So my buildings look like marshmellows could be roasted over them :-P

Seriously though, I figure other people must've come up with much more interesting fire effects, and I'd rather borrow theirs than reinvent the wheel myself.
#4
09/13/2010 (4:44 am)
Here's an unused effect from my Kaboom pack - use as you wish. It was intended as an explosion effect for an exploding barrel so isn't long-lived like the campfire examples but that is easily tweaked. These datablocks were out of the Torque3D version of the kit but I quickly dropped them into TGE to make sure they still worked there -- it was cool to actually see particles affected by wind once again :)
datablock ParticleData(XBarrelExpSub1FireParticle)
{
   dragCoefficient = 0;
   windCoefficient = 0.3;
   gravityCoefficient = -0.2;
   inheritedVelFactor = 0.25;
   constantAcceleration = 0.1;
   lifetimeMS = 3500;//2000;
   lifetimeVarianceMS = 500;//250;
   spinSpeed = 1;
   spinRandomMin = -90;
   spinRandomMax = 90;
   useInvAlpha = true;
   textureName = "~/data/shapes/particles/fire_A";//"art/shapes/particles/kaboom/fire_A";
   colors[0] = "1 1 1 1";
   colors[1] = "1 0.8 0.8 0.5";
   colors[2] = "0.4 1 1 0.2";
   colors[3] = "1 1 1 0.05";
   sizes[0] = 5;
   sizes[1] = 10;
   sizes[2] = 3;
   sizes[3] = 1;
   times[0] = 0;
   times[1] = 0.25;
   times[2] = 0.5;
   times[3] = 1;
};

datablock ParticleData(XBarrelExpSub1SmokeParticle)
{
   dragCoefficient = 0;
   windCoefficient = 0.2;
   gravityCoefficient = -0.05;
   inheritedVelFactor = 0.2;
   constantAcceleration = 0;
   lifetimeMS = 3000;
   lifetimeVarianceMS = 1500;
   spinSpeed = 0;
   spinRandomMin = -100;
   spinRandomMax = 100;
   useInvAlpha = true;
   textureName = "~/data/shapes/particles/smoke";//"art/shapes/particles/smoke";
   colors[0] = "0.1 0.1 0.1 0.8";
   colors[1] = "0.7 0.7 0.7 0.6";
   colors[2] = "0.9 0.9 0.9 0.1";
   colors[3] = "1 1 1 1";
   sizes[0] = 0.5;
   sizes[1] = 1;
   sizes[2] = 2;
   sizes[3] = 1;
   times[0] = 0;
   times[1] = 0.4;
   times[2] = 1;
   times[3] = 2;
};

datablock ParticleEmitterData(XBarrelExpSub1FireEmitter) 
{
   ejectionPeriodMS = 10;
   periodVarianceMS = 0;
   ejectionVelocity = 0.8;
   velocityVariance = 0.5;
   ejectionOffset = 0;
   thetaMin = 0;
   thetaMax = 180;
   phiReferenceVel = 0;
   phiVariance = 360;
   particles = "XBarrelExpSub1FireParticle";
   lifetimeMS = 4000;//2000;
   lifetimeVarianceMS = 0;
};

datablock ParticleEmitterData(XBarrelExpSub1SmokeEmitter) 
{
   ejectionPeriodMS = 10;
   periodVarianceMS = 0;
   ejectionVelocity = 0.8;
   velocityVariance = 0.5;
   ejectionOffset = 0;
   thetaMin = 0;
   thetaMax = 180;
   phiReferenceVel = 0;
   phiVariance = 360;
   particles = "XBarrelExpSub1SmokeParticle";
   lifetimeMS = 4000;//2000;
   lifetimeVarianceMS = 0;
};

And here are the images, just right-click & save:

fire_A

i167.photobucket.com/albums/u143/heretek/torque/fire_A.png

smoke_A

i167.photobucket.com/albums/u143/heretek/torque/smoke_A.png
EDIT: first time I actually noticed just how big those particle images are! You may want to resize them.... and you might get better (re-usable) results if they were desaturated and you used the particle color settings to colorize them instead of using the useInvAlpha setting
#5
09/14/2010 (2:23 am)
Thanks Michael, I will try those out
#6
09/16/2010 (6:53 pm)
I'm getting some nice effects with those.

redbrickgames.com/pix/10/0916/dmgEmitter.jpg
#7
08/11/2015 (3:20 am)
I used this resource and so far its way better than any stock sort of fire effect I could dig up.. but getting it under control is a bit of a learning curve.. I'd be more than willing to buy an effects pack... fire smoke fog ect.....