用途:该技能面向需要在 Three.js 中实现自定义着色器逻辑的场景,包括编写 GLSL、使用 ShaderMaterial、管理 uniforms、做顶点变形、片元特效,以及扩展内置材质无法覆盖的材质行为。
主要能力:资料覆盖 ShaderMaterial 与 RawShaderMaterial 的差异(前者由 Three.js 提供内置 uniforms 与 attributes,后者需自行定义全部内容)、uniforms 的类型与更新方式、varyings 在顶点与片元着色器间传值,以及常见着色器模式,如纹理采样、顶点位移、Fresnel 效果、噪声、渐变、边缘光与溶解效果。
使用方式:以 ShaderMaterial 为例,通过 uniforms 传入 time、color 等值,在 vertexShader 中计算 gl_Position,在 fragmentShader 中输出 gl_FragColor,并在动画循环中更新 material.uniforms.time.value。uniforms 支持数字、向量、颜色、矩阵、纹理与数组等类型,更新时可直接赋值或调用 set、copy 等方法。
适用场景:创建自定义视觉特效、修改顶点、编写片元着色器或扩展内置材质时使用。
限制:资料未提供具体安装命令、收费信息、平台支持范围或性能数据;示例代码为脚手架性质,需按实际任务调整。若任务转向架构、调试、设计或安全等方向,资料建议移交相关技能处理。