跳到正文
cccskills
免费在 GitHub 公开

override-shader-chunks

Use when a PlayCanvas StandardMaterial needs custom shading its properties cannot express, such as stylized looks or vertex displacement, before writing a ShaderMaterial.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md1.6 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Override shader chunks

Overriding a StandardMaterial chunk keeps fog, tone mapping, shadows, skinning, and instancing intact. Use a ShaderMaterial only when the look needs its own vertex and fragment pair.

  • Set material.shaderChunksVersion to the installed major.minor, such as '2.23'. Chunk names and contracts change between versions, so read the installed chunk source, not memory.
  • Set chunks with material.getShaderChunks(SHADERLANGUAGE_GLSL).set(name, source) and the WGSL equivalent, then call material.update(). For every material on a device, use ShaderChunks.get(device, language); the global shaderChunks object is deprecated.
  • Supply both GLSL and WGSL. On WebGPU, one GLSL-only chunk sends the whole shader through a transpiler that is usually not loaded, so it fails to compile. Otherwise pin the device to WebGL.
  • Clone shared materials, including imported ones, before overriding them for only some meshes. Per-mesh uniforms use meshInstance.setParameter().
  • Uniforms are raw; convert sRGB colours with Color#linear().
  • Vertex chunks that read the model matrix, such as transformCoreVS, must keep the INSTANCING path with a matrix_model fallback, like the stock chunk.
  • Expand mesh bounds by the maximum displacement; CPU bounds do not see shader deformation.
  • For an emissive-only look, implement getEmission() writing dEmission, zero diffuse and specular, and disable useSkybox.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Use when adding visual effects to a PlayCanvas app, to choose between particle systems, shader chunks, runtime meshes, and post-processing.

中文简介正在准备中。当前显示原文说明。

playcanvas/skills292026年10月22日 更新

Use when writing PlayCanvas Engine code touching transforms, cameras, lights, materials, meshes, bounds, or imports, to apply Engine conventions and avoid legacy APIs.

中文简介正在准备中。当前显示原文说明。

playcanvas/skills292026年10月22日 更新

Use when composing PlayCanvas entity hierarchies from models, colliders, rigid bodies, and scripts, so each object has one semantic root and clear lifecycle.

中文简介正在准备中。当前显示原文说明。

playcanvas/skills292026年10月22日 更新

Use when static PlayCanvas lighting, shadows, or ambient occlusion cost too much per frame and should be baked into lightmaps.

中文简介正在准备中。当前显示原文说明。

playcanvas/skills292026年10月22日 更新

build-app

免费

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.

中文简介正在准备中。当前显示原文说明。

playcanvas/skills292026年10月22日 更新

Use before repeatedly placing GLB models in PlayCanvas to record each asset's uniform scale, grounding offset, pivot compensation, and yaw once.

中文简介正在准备中。当前显示原文说明。

playcanvas/skills292026年10月22日 更新

查看 playcanvas 的全部技能

报告此技能的问题