mcpbeat

Threejs Procedural Vfx

scottstts/threejs-procedural-vfx

Author production real-time VFX in Three.js. Use for raymarched aurora curtains, finite-footprint emissive slabs, uniform volume integration, equirectangular radiance probes, WebGPU voxel fire and smoke, coupled volumetric fluid fields, mesh-surface emitters, signed-distance fire collisions, ship-conforming reentry plasma, generated capsule wakes, instanced analytic sparks, timed dissolving debris, dense-swap effect pools, additive holographic projections, Fresnel rim shells, scanline banding, glitch displacement, swept shape-to-shape handovers, and explicit scene-relative HDR emission hierarchy.

45k tokens
context cost
the whole folder, loaded on every use
27
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
527
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/scottstts/Threejs-Awesome-Graphics-Agent-Skills --skill threejs-procedural-vfx

The instruction itself

4 sections, as written by the author

Procedural VFX

Build effects from an event envelope, motion field, geometry representation, and shading response. Avoid independent particle emitters that happen to share a color.

Effect graph

subject/event state
  → effect-specific geometry, voxel fields, or instance attributes
  → flow-facing masks or analytic age
  → material response
  → pool/lifetime ownership
  → HDR and bloom contribution

Read references/procedural-vfx-system.md

for ship-conforming reentry shells, capsule wakes, dense instanced

spark/debris pools, holographic projection shells, HDR hierarchy, and

implementation limits.

Read references/volumetric-fluid-fire.md

for three-dimensional texture ownership, fixed fluid-compute scheduling,

mesh-surface injection, pressure projection, moving SDF boundaries,

temperature-mapped HDR raymarching, exact presets, and failure diagnostics.

Read references/volumetric-aurora-curtains.md

for finite emissive-slab bounds, warped curtain density, uniform ray steps,

gentle start jitter, matching screen/probe materials, exact constants, limits,

and failure diagnostics.

Read the reentry plasma implementation

for closed layered wake shells, flow-axis deformation, advected filament

fields, opacity shaping, and additive emission diagnostics.

Read the

hologram projection material

for the additive rim shell itself: squared Fresnel incidence with grazing

falloff, footprint-filtered object-space scanlines, height-phased glitch

displacement, and index-gated participation. Read its

shape-transition driver

for the shared sweep range across a shape set, the linear progress ramp inside a

longer dwell, and the complementary-discard handover.

Read the

volumetric fluid fire implementation

for the complete WebGPU/TSL velocity, dye, pressure, vorticity, emitter,

collision, raymarch, and diagnostic system plus its calibrated fire preset.

Read the

raymarched aurora implementation

for the reusable emitting field, perspective-ray material, four-sample

equirectangular radiance material, shared uniforms, and calibrated curtain

preset without sky, terrain, weather, lighting, or renderer setup.

Rules

  • Every layer must have a role in silhouette, motion, illumination, or residue.
  • Give velocity, dye, pressure, vorticity, and collisions explicit texture

ownership and one fixed compute schedule.

  • For low-angle aurora, use a finite shallow emitting footprint, uniform ray

steps, gentle start jitter, and step-length-weighted accumulation. Do not add

extinction or an elevation gate after the footprint already removes the long

limb path.

  • Keep aurora emission separable from sky, stars, atmosphere, terrain lighting,

weather, and grading; expose the same radiance through perspective and

equirectangular materials.

  • Convert velocity to volume UVW with the world-size vector; never advect a

non-cubic volume as though its axes had equal scale.

  • Keep the pressure ping-pong endpoint consistent with the projection read.
  • Use normalized lifetime curves instead of scattered time constants.
  • Derive secondary motion from the same flow or event direction.
  • Keep bloom as a response to HDR emission, not as the effect's only shape.
  • Pool instances and trails; do not allocate per burst.
  • Filter every periodic band by pixel footprint, and fade it to the band's own

mean rather than to zero.

  • Measure rim incidence in a frame built from an inverse-transpose normal matrix.
  • Give a multi-shape transition one shared normalised range and complementary

discards, never per-shape ranges or overlapping coverage.

  • Expose spawn, simulation, overdraw, and luminance debug views.
  • Include a non-bloom baseline that remains legible.

Routing boundary

Use $threejs-temporal-surfaces only for the screen-space

frost/touch-history pipeline. Use $threejs-precipitation-surfaces for

falling rain or snow, splash flipbooks, and weather events that alter ground

materials. Use $threejs-volumetric-clouds for atmospheric weather layers and

planet-scale cloud volumes. Use $threejs-atmosphere-aerial-perspective for

molecular/aerosol sky scattering and surface-segment aerial perspective. Keep

emissive aurora curtain volumes, bounded interactive fire and smoke,

subject-space plasma, generated wakes, sparks, pooled debris, and additive

projection shells in this skill.

How to use it

Copy the folder

Take scottstts/threejs-procedural-vfx from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.