add-effects
FreeUse when adding visual effects to a PlayCanvas app, to choose between particle systems, shader chunks, runtime meshes, and post-processing.
The English summary is being prepared. Showing the original description.
Use before loading, placing, scaling, or animating GLB models in PlayCanvas to measure bounds, grounding, clips, joints, and hierarchy with the bundled offline inspector.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Resolve scripts/inspect.mjs relative to this skill and run it before choosing transforms or
animation names. Shortlist files; do not dump a whole asset pack into context.
node <skill-directory>/scripts/inspect.mjs public/models/*.glb
dims, center, and groundOffset give the uniform scale input, the pivot offset, and the Y
seat. Non-zero center.x or center.z means the model does not sit on its root.boundsSource: trust bounds for placement only when it is vertices. accessor-minmax can
over-estimate rotated nodes by up to 41 percent; incomplete or null means do not calibrate.
boundsNotes gives the cause.boundsPose: static and default-morph are the authored pose; bind is the skinned rest pose.requiresRuntimeCheck flags morphs, skins, or partial decoding; confirm extents in the app.nodePaths, clips, joints, and animationTargets feed configure-animation.Bounds cannot prove facing. Confirm it in the running app and record the yaw with
calibrate-model. Runtime meshInstance.aabb expands conservatively for morphs, so place static
models from inspected bounds.
The inspector decodes plain, interleaved, quantized, and sparse buffers. For Draco, Meshopt, or
external buffers, inspect a lossless scratch copy; do not use optimize, which applies extra
transforms:
npx --yes @gltf-transform/cli@4.4.2 copy in.glb scratch.glb
The Engine cannot load EXT_meshopt_compression; see load-assets before shipping such files.
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Use when adding visual effects to a PlayCanvas app, to choose between particle systems, shader chunks, runtime meshes, and post-processing.
The English summary is being prepared. Showing the original description.
Use when writing PlayCanvas Engine code touching transforms, cameras, lights, materials, meshes, bounds, or imports, to apply Engine conventions and avoid legacy APIs.
The English summary is being prepared. Showing the original description.
Use when composing PlayCanvas entity hierarchies from models, colliders, rigid bodies, and scripts, so each object has one semantic root and clear lifecycle.
The English summary is being prepared. Showing the original description.
Use when static PlayCanvas lighting, shadows, or ambient occlusion cost too much per frame and should be baked into lightmaps.
The English summary is being prepared. Showing the original description.
Use when creating or restructuring a PlayCanvas app with the Engine API, @playcanvas/react, or @playcanvas/web-components, covering bootstrap, input, resize, physics, update loop, UI, and lifecycle.
The English summary is being prepared. Showing the original description.
Use before repeatedly placing GLB models in PlayCanvas to record each asset's uniform scale, grounding offset, pivot compensation, and yaw once.
The English summary is being prepared. Showing the original description.