parallaxDirection
parallaxDirection
计算在切线空间(Tangent Space)中的观察方向向量。这是在平坦表面上创建视差深度错觉(如砖墙凹凸)的基础节点。
核心优势
将复杂的坐标空间转换(视图方向转至切线空间)封装为单个节点,是实现视差映射、视差遮蔽映射等高级着色技术的基石,能极大提升材质细节感而无需增加几何体。
常见用途
标准视差映射 (Parallax Mapping)
视差遮蔽映射 (POM)
各向异性高光
如何调整
该节点本身无参数。效果调整通常通过一个 `parallaxScale` 浮点数实现,用它来缩放 `parallaxDirection` 产生的 UV 偏移量。增大 `parallaxScale` 会增强深度感,但可能产生瑕疵;设为负值则会反转凹凸效果。
代码示例
1// 从高度图中采样深度值
2const heightValue = texture( heightMap, uv() ).r;
3
4// 使用切线空间中的视图方向计算 UV 偏移量
5const uvOffset = parallaxDirection.xy.mul( heightValue ).mul( parallaxScale );
6
7// 将偏移量应用到原始 UV 坐标
8const parallaxUV = uv().sub( uvOffset );