SuperAPI AI 工具集

threejs-procedural-materials

通用与其它

查看项目

更新于 10-16 00:00

技能介绍

用途:在 Three.js WebGPU/TSL 中构建连贯的程序化 PBR 材质系统,把稳定坐标、结构成因、身份权重、因果修改器与过滤后的微观结构串联到 NodeMaterial 的 PBR 槽位,而不是零散的通道叠加。

主要能力:使用 MeshStandardNodeMaterial 处理标准不透明/自发光 PBR,仅在需要额外光瓣或传输属性时用 MeshPhysicalNodeMaterial;通过赋值节点槽位(colorNode、roughnessNode、metalnessNode、normalNode、aoNode、emissiveNode、positionNode 等)保留 Three.js 的光照、环境、阴影与能量处理;按缺陷与成本选择 UV、纹理数组、图集、单轴/双轴投影、三平面或随机平铺;过滤高度/法线频带并处理粗糙度方差;用属性或存储实例数据管理每实例动态状态。

必要用法:分配存储、调度计算写入或编译基于存储的材质分支前,需先初始化并校验渲染器:await renderer.init(); 随后检查 renderer.backend.isWebGPUBackend !== true 即抛错,并从 renderer.backend.device 的 features/limits 选择采样/存储绑定与可写格式。替换材质节点图时需设置 material.needsUpdate = true。数据纹理用 NoColorSpace,sRGB 颜色用 SRGBColorSpace,线性 HDR 用 LinearSRGBColorSpace。

适用场景:多系统场景中由字段、几何、水体与最终图像管线分工的 WebGPU 程序化材质;需要共享身份、明确单位与坐标约定、动态溶解/湿度/变体/生命周期等状态的情况。

限制:原生 WebGPU 为必需;r185 的 triplanarTexture() 每绑定纹理执行三次投影采样且不重定向切空间法线、不提供随机平铺;computeAsync() 不是 GPU 完成栅栏;receivedShadowPositionNode 默认不应设置;各步骤的完整性需以诊断证据为准。资料未提供具体安装命令与收费信息。