About add-effects
A development skill for adding visual effects with PlayCanvas Engine components and materials. It maps effect types to Engine building blocks and examples, with implementation and runtime checks.
Key features
- 01Choose Engine building blocks by effect type
- 02Use particle systems and material shaders
- 03Build runtime meshes and wide lines
- 04Add full-screen and splat effects
- 05Reuse emitters and meshes
- 06Check triggers and entity counts
Use cases
- 01Adding particle effects to an app
- 02Customizing surface shading or geometry
- 03Implementing full-screen camera effects
- 04Verifying repeated effect triggers
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ playcanvas/ skills --skill add-effectsAfter installing, type/add-effectsin Claude Code to confirm it loaded.
Details
From the project READMEEffects
Pick the Engine building block first, then adapt its closest official example with
find-examples:
- Particle systems: the
particlesystemcomponent (graphics/particles-*examples). - Custom shading on existing surfaces:
StandardMaterialchunk overrides (override-shader-chunks), or aShaderMaterialwhen the effect needs its own shader pair. - Procedural or per-frame geometry: a runtime-updated
Meshon arendercomponent (graphics/mesh-*examples), orWideLineRendererfor lines with width. - Full-screen effects:
CameraFrame(light-scene). - Gaussian splat effects: the shipped gsplat scripts (
reuse-scripts).
Engine gotchas
CurveSettakes one key array per channel. A flattened array type-checks, then fails at texture upload.- Create emitters and meshes at load and reuse them. Fire an emitter with
reset()thenplay(); one-shots useloop: false. - The first use of a shader stalls a frame. Render each effect once behind a loading screen.
- Animate values with
setParameter, not a per-framematerial.update(). - A lit material on a custom mesh needs normals; otherwise use an unlit material.
Trigger each effect through the app's real inputs, and confirm repeated triggers keep entity counts stable.
Comments
Markdown supported