本文へ移動
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(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

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

日本語の概要は準備中です。原文の説明を表示しています。

playcanvas/skills252026年10月12日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

playcanvas/skills252026年10月12日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

playcanvas/skills252026年10月12日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

playcanvas/skills252026年10月12日 更新

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/skills252026年10月12日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

playcanvas/skills252026年10月12日 更新

playcanvas のスキルをすべて見る

このスキルの問題を報告する