Tutorials:NewDark/Particle effects - Bitmap Disk Fire
This is a very quick and dirty tutorial coovering setting up a new, particle-only Flame replacement in Dromed for v1.19. This **will not** work in v1.18 as it relies on the Bitmap Disk particle type added in 1.19. This is the result of only a few hours of experimentation, so don't expect wonders at this point!
The demo file
An example of the following flame setup is available in this file. It contains the demo.cow file and a bitmap directory containing 'fpuff.tga' - the image used on the bitmap disks. You are free to use the fpuff.tga file in your missions should you want it.
Initial setup
First you need to create a new flame object, an object that will have the various particle components linked to it. Open the Object Hierarchy window and then:
- Open the
SFX -> FireFX
tree - select
FireFX
, click Add. In the window enterNewFlame
and click OK. - select
NewFlame
and add the following:
AI -> Utility -> Path avoid: Repel Act/React -> Receptrons WaterStim; Min: 0.0; Max: No max; Effect: Slay object; Target: Me; Agent: Me KOGas; Min: 0.0; Max: No max; Effect: Slay object; Target: Me; Agent: Me AmbientHacked Radius: 30; Override Volume: 0; Flags: [None]; Schema Name: fire_flame Game -> Damage Model -> Slay Result: No Effect Renderer -> Anim Light Mode: random but coherent millisecs to brighten: 99 millisecs to dim: 99 max brightness: 120 min brightness: 80 radius: 30 inner radius: 0 quad lit: ticked Renderer -> LightColor hue: 0.1; saturation: 0.75 S -> Scripts Script 0: AnimLight; Script 1: DoFlameSource; SFX -> Particles Active: ticked Particle Render Type: Bitmap disk Particle Animation: Launched continually Particle Group Motion: Attached to object number of particles: 12 size of particle: 0.04 bitmap name: snow velocity X: 0 Y: 0 Z: 0 gravity vector X: 0 Y: 0 Z: 2.5 color (palettized): 0 2nd color: 0 3rd color: 0 alpha: 50 fixed-group radius: 0.0 spin/pulse group: unticked spin speed X: 0 Y: 0 Z: 0 pulse mag: 0 pulse cycle time ms: 0 particle fade time: 0.8 launch period: 0.05 animation offset: 0 group-scale velocity: 0 bm-disk flags: Use RGB Colors bm-disk birth time: 0 bm-disk rot (vel, offs, rand) X: 0 Y: 0 Z: 0 bm-disk ani frame time: 0.0 bm-disk grow speed: 0.0 bm-disk rgb: (224, 25, 30) bm-disk 2nd rgb: (0, 0, 0) bm-disk 3rd rgb: (0, 0, 0) All other options unticked, except 'particles start launched' which should be ticked. SFX -> Particle Launch Info Launch Type: Bounding Boc Box Min X: -0.7 Y: -0.7 Z: 0 Box Max X: 0.7 Y: 0.7 Z: 1 Velocity Min X: 0 Y: 0 Z: 1 Velocity Max X: 0 Y: 0 Z: 4 Min time: 0.5 Max time: 1.5 Renderer -> Alpha Blend Mode: Add
- Click Done.
Where there's smoke there's fire
Now you need to create the smoke and fire particle effects themselves. This is where the new stuff actually kicks in:
- Open the
SFX -> FireFX -> FireParticleFX -> FireplaceFX
tree - select
FireplaceFX
, click Add. In the window enterNewFireplaceOrange
and click OK. - select
NewFireplaceOrange
and add the following:
SFX -> Particles Active: ticked Particle Render Type: Bitmap disk Particle Animation: Launched continually Particle Group Motion: Attached to object number of particles: 40 size of particle: 1.5 bitmap name: fpuff velocity X: 0 Y: 0 Z: 0 gravity vector X: 0 Y: 0 Z: 1 color (palettized): 0 2nd color: 0 3rd color: 0 alpha: 35 fixed-group radius: 0.02 spin/pulse group: unticked spin speed X: 0 Y: 0 Z: 0 pulse mag: 0 pulse cycle time ms: 0 particle fade time: 0.8 launch period: 0.05 animation offset: 0 group-scale velocity: 0 bm-disk flags: Fade in at Birth, Grow-in at Birth, Use RGB Colors, Fade RGB->2nd->3rd bm-disk birth time: 1.2 bm-disk rot (vel, offs, rand) X: 1.5 Y: 0.5 Z: 1.3 bm-disk ani frame time: 0.0 bm-disk grow speed: 0.2 bm-disk rgb: (238, 68, 11) bm-disk 2nd rgb: (252, 181, 14) bm-disk 3rd rgb: (233, 102, 5) All other options unticked, except 'particles start launched' which should be ticked. SFX -> Particle Launch Info Launch Type: Bounding Boc Box Min X: -0.6 Y: -0.6 Z: 0.5 Box Max X: 0.6 Y: 0.6 Z: 1 All other options zero/unticked until Min time: 2.3 Max time: 3.0 Renderer -> Alpha Blend Mode: Add Links -> ParticleAttachement: From: NewFireplaceOrange To: NewFlame
- Click Done.
- select
FireplaceFX
, click Add. In the window enterNewFireplaceSmoke
and click OK. - select
NewFireplaceSmoke
, click Edit, and add the following:
SFX -> Particles Active: ticked Particle Render Type: Bitmap disk Particle Animation: Launched continually Particle Group Motion: Attached to object number of particles: 70 size of particle: 1.2 bitmap name: fpuff velocity X: 0 Y: 0 Z: 0 gravity vector X: 0 Y: 0 Z: 2 color (palettized): 0 2nd color: 0 3rd color: 0 alpha: 32 fixed-group radius: 0.02 spin/pulse group: unticked spin speed X: 0 Y: 0 Z: 0 pulse mag: 0 pulse cycle time ms: 0 particle fade time: 0.8 launch period: 0.05 animation offset: 0 group-scale velocity: 0 bm-disk flags: Fade in at Birth, Grow-in at Birth bm-disk birth time: 1.2 bm-disk rot (vel, offs, rand) X: 2 Y: 2 Z: 1 bm-disk ani frame time: 0.0 bm-disk grow speed: 1 bm-disk rgb: (0, 0, 0) bm-disk 2nd rgb: (0, 0, 0) bm-disk 3rd rgb: (0, 0, 0) All other options unticked, except 'particles start launched' which should be ticked. SFX -> Particle Launch Info Launch Type: Bounding Boc Box Min X: -0.6 Y: -0.6 Z: 1 Box Max X: 0.6 Y: 0.6 Z: 1.5 All other options zero/unticked until Min time: 2.3 Max time: 3.0 Links -> ParticleAttachement: From: NewFireplaceSmoke To: NewFlame
- Click Done.
Using it
This can be placed just like the standard Flame, and will behave in the same way: hurting the player when they get close, vanishing when extinguished, etc. I would recommend using two or more concrete instances of this together, for good coverage.