What it does
The pack registers twelve named effects with the 3D particle system. Spawn one with
game.particles3d.effect(name, opts) at a character's feet, or have it follow the character; effects that belong
higher, such as the shield bubble, lift themselves so the floor does not cut them in half.
Each effect layers several emitters: a pool of light or a ring on the floor, a body of soft additive light, sparks or stars, and sometimes dark smoke. Colours cool and particles fade over their life, and forces hold the motion in shape: an attract keeps an aura hugging its wearer, a vortex turns a portal, drag and gravity settle the glitter. No effect holds more than about 190 live particles, so an aura on the hero, a curse on the enemy and a portal behind them run happily together.
Features
- States a character wears —
aura, a column of blue light;shield, a glassy bubble;curse, purple wisps sinking from above the head;heal, motes rising from a pool of green light. - The big moments —
teleport, a white column that flashes up and collapses;buff, a gold ring and streaks up the body;levelUp, a column of gold light that bursts into stars. - Marks on the floor —
portal, a violet ring in a vortex;rune, bright points turning over a circle; andsummonCircle, two rings with rune strokes wheeling between them. - Light and pickups —
holyLight, a golden shaft pouring onto a spot, andsparkle, a twinkling cloud of star motes at chest height. - Timing —
timeScaleslows or speeds any effect, for a slow-motion teleport.
Good for
- Action RPGs — buffs, debuffs, heals and level-ups on characters seen from a follow camera.
- Fantasy adventures — portals, runes and summoning circles at enchanted places.
- 3D platformers — a sparkle on every pickup and enchanted object.
- Shrines and holy places — a shaft of light on an altar.
Make it yours
Every effect takes a position or an object to follow, scale, timeScale and a layer. The set is tuned for a
character about 1.8 units tall, and scale fits it to anything else: a shield at scale: 1.3 for a bigger bearer.
Each effect is a plain Vfx3dDef, so a new spell is a copy: take aura from game.particles3d.defs, give its
emitters a red colour ramp and register it with registerVfx3d as a rage aura, or double the rates in a copy of
summonCircle for a busier ritual.
A quick look
A portal on the ground, an aura worn by a character and a level-up on demand:
const gate = game.particles3d.effect('portal', { x: 4, y: 0, z: -2, scale: 1.5 });
const aura = game.particles3d.effect('aura', { follow: hero });
const onLevelUp = () => game.particles3d.effect('levelUp', { x: hero.x, y: hero.y, z: hero.z });
gate.stop(); // stop emitting; 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 light a spell throws on the scene.trails-3dwithvfx3d-trails— a ribbon behind a moving wand or blade.vfx-magic— the same set in 2D.
Good to know
- The glow casts no light and no shadows: pair an effect with a point light for light on the scene.
- Forces stay in world axes and particles stay in the world, so a wearer moving fast leaves part of an aura behind.
- The one-shots end within three seconds; the loops run until they are stopped or killed.






