Just fire out 5-6 partcicles behind the missle, each with their own velocity with slight speed variation between the half of the missle's speed and it's full speed and slight size variation.
This is by no means working code but will give you more info on the functions involved :
Call PARTICLEinit before you main loop
Call PARTICLEcreate as and when required
Call PARTICLEupdate each loop
Call PARTICLEreset when you need to clear them all
This is by no means working code but will give you more info on the functions involved :
Call PARTICLEinit before you main loop
Call PARTICLEcreate as and when required
Call PARTICLEupdate each loop
Call PARTICLEreset when you need to clear them all
Type Particle Field Mesh Field Life# Field Vx#, Vy#, Vz# End Type Global PARTICLEnext.Particle PARTICLEinit( 100 ) ;========================================================= ;========================================================= ;========================================================= Function PARTICLEinit( MaxParticles ) ;create MaxParticles for recycling For l = 1 To MaxParticles p.particle = New particle p\Mesh = CopyEntity( PARTICLEmesh ) : HideEntity p\Mesh p\Life = 0 Next PARTICLEnext = First p End Function ;========================================================= ;========================================================= ;========================================================= Function PARTICLEcreate( Emitter , OffsetZ# , Speed# , Number = 5 ) For No = 1 To Number p.particle = PARTICLEnext ;reset life and show p\Life = 1.0 ShowEntity p\Mesh ;get world coords of emitter offset and position particle there TFormPoint Emitter, 0,0, OffsetZ PositionEntity p\Mesh, TFormedX(), TFormedY(), TFormedZ() ;get velocity TFormVector Emitter, Rnd(-.1, .1 ) * Speed, Rnd(-.1, .1 ) * Speed, Rnd(.5, 1 ) * Speed p\Vx = TFormedX() p\Vy = TFormedY() p\Vz = TFormedZ() ;recycle PARTICLEnext = After p If p = Null PARTICLEnext = First Particle Next End Function ;========================================================= ;========================================================= ;========================================================= Function PARTICLEupdate() For p.particle = Each particle ;only move particles that are alive If p\Life > 0 p\Life = p\Life - .01 : If p\Life < 0 p\Life = 0 If p\Life = 0 HideEntity p\Mesh Else TranslateEntity p\Mesh, p\Vx, p\Vy, p\Vz EntityAlpha p\Mesh, p\Life EndIf EndIf Next End Function ;========================================================= ;========================================================= ;========================================================= Function PARTICLEreset() ;reset all particles For p.particle = Each particle p\Life = 0 HideEntity p\Mesh Next End Function