What it does
The pack registers twelve named effects with the 3D particle system. Spawn one with
game.particles3d.effect(name, opts) on the ground, a candle top or a torch head, and it burns until you stop it;
ignite is the one-shot. stop() lets what is alive finish, which is exactly how releasing a trigger looks.
Each flame is a column of additive soft puffs on upright billboards that rise, shrink and cool from white through orange to ember red, licked sideways by curl noise, with embers stretched into streaks along their flight. The small fires are the big recipe scaled so that a torch flickers faster rather than drifting slower. Flames are unlit: a flame is a light, so a dark scene does not dim it. A fire can follow an object, so a torch rides in a hand and a fireball leaves its flames in the world behind the bolt.
Features
- Standing fires —
candle,torch,fire(about a metre across),campfirewith a smoke column, andinferno, a wall of fire five metres wide. - Shapes of fire —
burningGround, a strip of flames eight metres long, andfireRing, a ring five metres across lying on the ground. - Other colours —
blueFlame, a steady gas jet with no smoke, andwitchFire, green with ghostly wisps. - Catching light —
ignite, a flash and a billow of fire, the flame over in two seconds. - Moving fire —
fireball, a white-hot core in a burning shell, andflamethrower, a jet that billows and curls up into smoke, aimed withyawandpitch. - One size control —
scalemultiplies every size, speed and distance:infernoat 0.4 is a burning hut andfireat 3 a bonfire.
Good for
- Fantasy and dungeon games — torches on castle walls, candles on an altar, a witch's green fire.
- Survival games — a campfire with its smoke rising.
- Shooters and action games — burning wrecks, flamethrowers, fire traps and a ring of fire round an arena.
- Spellcasting — fireballs, dragon's breath and something bursting into flame.
Make it yours
At spawn time you set the position or the object to follow, an offset, scale, and yaw and pitch for the aimed
effects. One game puts a torch on every character in a dark dungeon; another sets an inferno at scale: 0.4 on
each hut a raid sets alight and fires ignite as each one catches. Every effect is a plain Vfx3dDef: copy one from
game.particles3d.defs and register it with registerVfx3d(game.kernel, def) for a hotter campfire, a purple witch
fire or a longer flamethrower.
A quick look
A campfire, a torch in the hand and a flamethrower on a tank:
const camp = game.particles3d.effect('campfire', { x: 4, y: 0, z: -2 });
const torch = game.particles3d.effect('torch', { follow: hero, offset: { x: 0.3, y: 1.6, z: 0.2 } });
const jet = game.particles3d.effect('flamethrower', { follow: tank, offset: { y: 1.2 }, yaw: tankYawDegrees, pitch: 10 });
jet.stop(); // released the trigger: what is alive finishes
Works with
particles-3dandparticle-textures— required: the runtime and the particle frames;core-3dincludes both.lighting-3d— a point light for the glow a fire throws.vfx3d-explosionandvfx3d-smoke— a fireball's impact, and a smoke column on its own.trails-3dwithvfx3d-trails— a ribbon of flame behind a fast projectile.vfx-fire— the same twelve names in 2D.
Good to know
- Fire lights nothing and burns nothing: pair it with a point light, and damage is game logic. It casts no shadows.
- The biggest,
inferno, holds about 600 particles and most hold one or two hundred; raisescalerather than spawning copies for a bigger fire. yawandpitchdo not turn gravity, so a flamethrower aimed down still curls its plume upward.






