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 when loading glTF/GLB models or textures in PlayCanvas, choosing Draco or Basis/KTX2 compression, or setting up decoders and preloading.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Load .glb files as container assets and call asset.resource.instantiateRenderEntity(), not
instantiateModelEntity. The importer already handles KHR_lights_punctual, KHR_materials_*
(clearcoat, sheen, transmission, volume, iridescence, variants, and more), KHR_texture_transform,
and EXT_mesh_gpu_instancing; do not rebuild these by hand. Preload asset sets with
AssetListLoader.
KHR_draco_mesh_compression). Meshopt is not supported, so decode such files
before shipping.KHR_texture_basisu) transcodes to a GPU format, cutting both
download size and VRAM. ETC1S is smallest and lossy. UASTC is larger and keeps
detail, which matters most for normal maps. Weigh size against visible detail.The npm package ships no Draco or Basis wasm. Copy draco/ and basis/ from the Engine's
examples/assets/wasm at the installed tag (find-examples), and configure them before loading:
import { WasmModule, basisInitialize } from 'playcanvas';
WasmModule.setConfig('DracoDecoderModule', {
glueUrl: '/wasm/draco/draco.wasm.js',
wasmUrl: '/wasm/draco/draco.wasm.wasm',
fallbackUrl: '/wasm/draco/draco.js'
});
await new Promise((resolve) => WasmModule.getInstance('DracoDecoderModule', resolve));
basisInitialize({
glueUrl: '/wasm/basis/basis.wasm.js',
wasmUrl: '/wasm/basis/basis.wasm.wasm',
fallbackUrl: '/wasm/basis/basis.js'
});
In Web Components, a <pc-wasm name="DracoDecoderModule"> element under <pc-app> sets the Draco
config with glue, wasm, and fallback attributes.
texture.anisotropy, which defaults to 1, for surfaces viewed at grazing angles.gsplat assets onto a gsplat component; start from a
gaussian-splatting example.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.