Game Development Community

Metal sparks

by Ronald J Nelson · in Torque Game Engine · 05/08/2007 (10:27 am) · 1 replies

Does anyone have a good example of a metal spark emmiter? The ones in the starter kits are not even close to what I need and I REALLY suck at making these things. What I am looking for is the kind of high speed sparks that would be created by metal grinding against metal or or some other really hard surface.

Or just point me to something someone is selling that has what I am looking for in it.

Thanks in advance.

#1
05/28/2007 (9:06 am)
Here is something that we use... I'm sure that you can tweak it a lot more (you'll also need to create your own particle texture... our is just a small circle with some alpha falloff on it)

datablock ParticleData(SparkParticle) 
{
   canSaveDynamicFields = "1";
   dragCoefficient = "0";
   windCoefficient = "0";
   gravityCoefficient = "0.0";
   inheritedVelFactor = "0";
   constantAcceleration = "-4";
   lifetimeMS = "500";
   lifetimeVarianceMS = "100";
   spinSpeed = "0";
   spinRandomMin = "0";
   spinRandomMax = "0";
   useInvAlpha = "0";
   animateTexture = "0";
   framesPerSec = "0";
   textureName = "spark";
   animTexName[0] = "spark";
   colors[0] = "1 0.2 0 1";
   colors[1] = "1 0.4 0 1";
   colors[2] = "1 0.8 0 0";
   colors[3] = "1 1 1 1";
   sizes[0] = "0.1";
   sizes[1] = "0.1";
   sizes[2] = "0.1";
   sizes[3] = "1";
   times[0] = "0";
   times[1] = "0.8";
   times[2] = "1";
   times[3] = "1";
   allowLighting = "0";
};


datablock ParticleEmitterData(SparkEmitter) 
{
   canSaveDynamicFields = "1";
   className = "ParticleEmitterData";
   ejectionPeriodMS = "20";
   periodVarianceMS = "0";
   ejectionVelocity = "1.5";
   velocityVariance = "0.5";
   ejectionOffset = "0";
   thetaMin = "0.0";
   thetaMax = "0.0";
   phiReferenceVel = "0";
   phiVariance = "0.0";
   overrideAdvance = "0";
   orientParticles = "0";
   orientOnVelocity = "0";
   particles = "SparkParticle";
   lifetimeMS = "0";
   lifetimeVarianceMS = "0";
   useEmitterSizes = "0";
   useEmitterColors = "0";
};


We have some custom code in the engine itself that governs how/when the particles are updated, as well as some other things (ie. we use them for vehicles scraping against surfaces, and we randomly choose multiple points of emission around the actual contact point in order to simulate more particles, etc.)


Edit: You can check out www.youtube.com/watch?v=YmvLQw25OqI for a really horrible YouTube video of some alpha footage of our game to see the effects in action (a very rough idea of what they look like, considering the quality of the video!). You wont see many sparks until towards the end when the older style Mini is driving around in the track with the sunset.