Tutorials:NewDark/Particle effects - Bitmap Disk Fire

Building pieces of another world.
Jump to navigation Jump to search
Tutorial-firedemo.png

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!

You should probably consult the 'Changed Prop: SFX->"Particles"' section of the modders_notes.txt file in the doc folder while following this, for more information about the settings used.

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 enter NewFlame 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 enter NewFireplaceOrange 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 enter NewFireplaceSmoke 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.

Authors

  • gravatar The Watcher [userbureaucratsysopPHRhYmxlIGNsYXNzPSJ0d3BvcHVwIj48dHI+PHRkIGNsYXNzPSJ0d3BvcHVwLWVudHJ5dGl0bGUiPkdyb3Vwczo8L3RkPjx0ZD51c2VyPGJyIC8+YnVyZWF1Y3JhdDxiciAvPnN5c29wPGJyIC8+PC90ZD48L3RyPjwvdGFibGU+]