关于 add-effects
使用 PlayCanvas Engine 组件和材质添加视觉效果的开发技能。它按效果类型对应 Engine 构件与示例,并提供实现和运行时检查要点。
主要功能
- 01按效果类型选择 Engine 构件
- 02使用粒子系统和材质着色器
- 03构建运行时网格与宽线
- 04添加全屏和 splat 效果
- 05复用发射器与网格
- 06检查触发效果和实体数量
适用场景
- 01为应用添加粒子效果
- 02自定义表面着色或几何体
- 03实现摄像机全屏效果
- 04验证效果重复触发
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ playcanvas/ skills --skill add-effects安装后在 Claude Code 中输入/add-effects确认已加载。
详细介绍
特效
先选择 Engine 构建模块,再通过 find-examples 调整与之最接近的官方示例:
- 粒子系统:
particlesystem组件(graphics/particles-*示例)。 - 为现有表面添加自定义着色:
StandardMaterial分块覆盖(override-shader-chunks);如果特效需要单独的着色器对,则使用ShaderMaterial。 - 程序化几何或逐帧更新的几何:在
render组件上使用运行时更新的Mesh(graphics/mesh-*示例),或使用带宽度的线条WideLineRenderer。 - 全屏特效:
CameraFrame(light-scene)。 - 高斯泼溅特效:已提供的 gsplat 脚本(
reuse-scripts)。
Engine 注意事项
CurveSet每个通道都需要一个键数组。扁平化数组虽然能通过类型检查,但会在纹理上传时失败。- 在加载时创建发射器和网格并重复使用。调用
reset()后再调用play()来触发发射器;单次发射使用loop: false。 - 着色器首次使用时会造成一帧卡顿。在加载画面后方将每种特效各渲染一次。
- 使用
setParameter为数值添加动画,而不是逐帧调用material.update()。 - 自定义网格上的受光材质需要法线;否则请使用非受光材质。
通过应用的实际输入触发每种特效,并确认重复触发后实体数量保持稳定。
评论
支持 Markdown