parallaxUV
parallaxUV
根据观察方向和高度图,计算出带有深度错觉的 UV 坐标,用于在平坦表面上模拟视差效果。
核心优势
将复杂的视差计算封装为标准节点,以极低的性能开销为平坦表面增添令人信服的深度感,是一种高效的视觉增强技术。
常见用途
基础视差贴图(如砖墙、鹅卵石路)
水面或玻璃的折射扭曲
热空气或海市蜃楼效果
如何调整
主要通过调整 `scale` 输入来控制。增大 `scale` 值会增强深度感,但可能导致瑕疵;使用负值可以反转凹凸效果(如浮雕变雕刻);对从高度图采样的值进行数学运算(如 `pow`)可以改变深度的响应曲线,使效果更锐利。
代码示例
1// 从高度图中获取深度,并乘以强度
2const scale = texture( heightMap ).r.mul( parallaxScale );
3
4// 计算带有视差效果的新 UV
5const parallaxedUV = parallaxUV( uv(), scale );