From partme-ai-full-stack-skills
Guides configuration of classic three.js materials like MeshStandardMaterial, MeshPhysicalMaterial, ShaderMaterial for PBR maps, transparency, depth write, skinning, and GLSL shaders.
npx claudepluginhub partme-ai/full-stack-skills --plugin t2ui-skillsThis skill uses the workspace's default tool permissions.
**ALWAYS use this skill when the user mentions:**
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
ALWAYS use this skill when the user mentions:
envMapalphaTest, depthWrite, blending modes, side/double-sided renderingShaderMaterial / RawShaderMaterial uniforms, includes, and compatibility with lights pipelineIMPORTANT: classic materials vs node-tsl
| Need | Skill |
|---|---|
| Standard PBR with maps, physical clearcoat/sheen | threejs-materials |
TSL nodes, NodeMaterial, WebGPU-first shading, compute-style graph | threejs-node-tsl |
| Migrating ShaderMaterial → TSL | threejs-node-tsl (conceptual), keep ShaderMaterial here until cutover |
Trigger phrases include:
MeshBasic (unlit), Lambert/Phong (legacy lit), Standard/Physical (PBR).envMap from cube or equirect; align metalness/roughness; consider MeshPhysicalMaterial for transmission/IOR when needed.alphaTest/depthWrite trade-offs; mention sorting limitations.lights: true flag behavior per version docs.skinning/morphTargets where applicable—mesh side in threejs-objects.// Option A: alphaTest — hard cutoff, no sorting issues
const matA = new THREE.MeshStandardMaterial({
map: texture, alphaMap: alphaTexture,
alphaTest: 0.5, transparent: true
});
// Option B: depthWrite false — soft transparency, needs manual sorting
const matB = new THREE.MeshStandardMaterial({
map: texture, transparent: true, opacity: 0.6,
depthWrite: false // prevents depth-fighting but requires back-to-front sorting
});
See examples/workflow-pbr-transparent.md.
| Docs section | Representative links |
|---|---|
| Materials (core) | https://threejs.org/docs/Material.html |
| PBR | https://threejs.org/docs/MeshStandardMaterial.html |
| Physical | https://threejs.org/docs/MeshPhysicalMaterial.html |
| Custom GLSL | https://threejs.org/docs/ShaderMaterial.html |
*NodeMaterial).normalMapType or tangent space breaks lighting; verify geometry has tangents or use appropriate mode.MeshPhysicalMaterial transmission needs thickness and good env—combine with threejs-textures / PMREM.PBR and ShaderMaterial behavior track the Materials section in three.js docs. Color management and default envMap handling changed in modern releases—always pair material answers with renderer/output settings from threejs-renderers when colors look wrong.
When answering under this skill, prefer responses that:
MeshStandardMaterial, MeshPhysicalMaterial, or ShaderMaterial pages as appropriate.colorSpace expectations with threejs-textures.depthWrite trade-offs for sorted rendering.*NodeMaterial types belong to the node skill, not this one.English: meshstandardmaterial, meshphysicalmaterial, shadermaterial, pbr, transparency, envmap, materials, three.js
中文: 材质、PBR、MeshStandardMaterial、物理材质、透明、环境贴图、ShaderMaterial、three.js