uniformCubeTexture
uniformCubeTexture
一个专用节点,用于将一个360度的环境贴图(CubeTexture)从 JavaScript 传递给着色器,是实现反射、折射和天空盒的基础。
核心优势
极大地简化了高级环境效果的实现。它将底层的 samplerCube 声明和绑定抽象化,让开发者能直接在节点图中使用 THREE.CubeTexture 对象,轻松实现反射、折射和基于图像的照明(IBL)。
常见用途
创建天空盒(Skybox)作为场景的360度背景。
为金属或镜面材质提供环境反射信息。
模拟玻璃或水等透明材质的折射效果。
如何调整
通过在节点图中改变用于采样的方向向量来调整。例如,使用 `reflectView` 获得完美镜面反射;给 `reflectView` 增加噪波可以模拟凹凸不平的表面;直接使用 `normalWorld` 作为采样方向则可以实现 MatCap(材质捕获)效果。
代码示例
1// 在 JS 中: const envMapNode = uniformCubeTexture( myCubeTexture );
2
3// 在 TSL 中,使用反射向量进行采样以获得镜面效果
4material.colorNode = envMapNode.sample( reflectView );