bumpMap
bumpMap
使用一张灰度图(高度图)来扰动表面法线,从而在不改变模型几何体的情况下模拟精细的凹凸细节。
核心优势
以极低的性能成本换取巨大的视觉细节提升,并将复杂的法线扰动算法抽象为简单的节点,对美术创作非常友好。
常见用途
增加有机表面细节(皮肤、皱纹)
定义人造材质纹理(金属、皮革)
环境和建筑表面(砖墙、木地板)
程序化的动态效果(水波、能量护盾)
如何调整
调整 `scale` 属性可以控制凹凸的强度和方向(正值为凸,负值为凹)。改变 `value` 输入(如更换纹理或使用噪波节点)可以彻底改变表面的细节或创造动态效果。修改 `uv` 输入则可以实现凹凸贴图的平铺、滚动或扭曲。
代码示例
1// 使用灰度图的红色通道和强度值创建一个凹凸法线
2const bumpNormal = bumpMap( texture( heightMap ).r, bumpScale );