texture
texture
在指定的 UV 坐标处对纹理进行采样(读取)以获取颜色值的基本节点,是着色器中进行贴图操作的核心。
核心优势
其输入(例如 UV 坐标)完全可以由其他节点进行编程,这允许在着色器内部直接实现UV扭曲、滚动和程序化纹理等高级动态视觉效果。
常见用途
基础颜色贴图 (Albedo)
用于表面细节的法线贴图
用于反射的环境贴图 (CubeTexture)
采样PBR数据纹理(如粗糙度、金属度)
如何调整
主要通过程序化地操作 `uvNode` 输入来实现。要平铺纹理,可将UV乘以一个系数(如 `uv().mul(4)`)。要创建滚动效果,可加上一个基于时间的值(如 `uv().add(timerLocal())`)。对于水波纹等复杂扭曲,可以使用 `sin()` 等数学函数来动态偏移UV坐标。
代码示例
1
2// 使用模型自带的UV坐标进行标准纹理采样
3const color = texture( myColorMap, uv() );
4
5// 通过随时间修改UV坐标,创建纹理滚动效果
6const scrolledColor = texture( myColorMap, uv().add( timerLocal( 0.1 ) ) );