Game Development Community

ring of fire

by Drunken@rtist · in Artist Corner · 07/15/2009 (2:40 pm) · 4 replies

Does anyone has any idea how can you make a ring of fire just using particle emitters in torque ? I'm kinda new to Torque so any advice would be more than welcomed.

#1
07/16/2009 (12:39 am)
The easiest way I know how would require you owning Torque some version with the appropriate AFX version. AFX is an advanced particle emitter system created by Jeff Faust. In some of his examples he uses rings of fire so you would be able to look at the script and easily recreate it from there.

If you go to YouTube and search for Arcane FX: you might be able to find some of Jeff Fausts advanced particle system in the works. One of his new effects : Soul Sucking Jerk.
#2
07/16/2009 (1:20 am)
As cool as AFX is you don't need it if all you want is a fire ring.

The easiest way I know how would be to become familiar with the built-in particle editor (F5). A minute is all it took for me to produce this.
i167.photobucket.com/albums/u143/heretek/torque/screenshot_001-00001-8.pngI know the particle system well enough that it would actually have only taken me 5 minutes to do this manually in a text editor.

Here's the output from the Particle Editor. You'll have to replace the "new" keyword with "datablock" and change any filepaths to reflect your project. Oh, and this was done in TGEa so you may have to remove a few fields (not all of them are even necessary) to make it work in TGE, but it should still work just the same. I'll leave further refinement to you.

//--- OBJECT WRITE BEGIN ---
new ParticleData(FireRingParticle) {
   canSaveDynamicFields = "1";
   Enabled = "1";
   dragCoefficient = "0.997067";
   windCoefficient = "1";
   gravityCoefficient = "-0.300366";
   inheritedVelFactor = "0";
   constantAcceleration = "1.4";
   lifetimeMS = "1000";
   lifetimeVarianceMS = "300";
   spinSpeed = "0";
   spinRandomMin = "-30";
   spinRandomMax = "300";
   useInvAlpha = "0";
   animateTexture = "0";
   framesPerSec = "1";
   textureCoords[0] = "0 0";
   textureCoords[1] = "0 1";
   textureCoords[2] = "1 1";
   textureCoords[3] = "1 0";
   animTexTiling = "0 0";
   textureName = "scriptsAndAssets/data/shapes/particles/smoke";
   animTexName = "scriptsAndAssets/data/shapes/particles/smoke";
   Colors[0] = "0.598425 0.19685 0 1";
   Colors[1] = "0.598425 0.19685 0 0.496063";
   Colors[2] = "0.19685 0 0 0";
   Colors[3] = "1 1 1 1";
   sizes[0] = "2.99701";
   sizes[1] = "1.99902";
   sizes[2] = "0.997986";
   sizes[3] = "1";
   times[0] = "0";
   times[1] = "0.698039";
   times[2] = "1";
   times[3] = "2";
};
//--- OBJECT WRITE END ---

//--- OBJECT WRITE BEGIN ---
new ParticleEmitterData(FireRingEmitter) {
   canSaveDynamicFields = "1";
   Enabled = "1";
   ejectionPeriodMS = "5";
   periodVarianceMS = "0";
   ejectionVelocity = "1.81818";
   velocityVariance = "0";
   ejectionOffset = "3.63636";
   thetaMin = "85";
   thetaMax = "85";
   phiReferenceVel = "0";
   phiVariance = "360";
   overrideAdvance = "1";
   orientParticles = "0";
   orientOnVelocity = "1";
   particles = "FireRingParticle";
   lifetimeMS = "0";
   lifetimeVarianceMS = "0";
   useEmitterSizes = "0";
   useEmitterColors = "0";
   blendStyle = "ADDITIVE";
   srcBlendFactor = "SRC_ALPHA";
   dstBlendFactor = "ONE";
   sortParticles = "0";
   reverseOrder = "0";
      overrideAdvances = "0";
};
//--- OBJECT WRITE END ---
#3
07/16/2009 (11:19 am)
Thanks Michael, that really worked. Now i can fly through rings of fire with that racing starter kit buggy. Life just became a lot interesting he he
#4
07/17/2009 (3:30 pm)
###