UE5的BumpOffset节点
BumpOffset 节点的基本概念
本质上,BumpOffset 节点通过扭曲或偏移纹理坐标来创造深度错觉。它基于视角方向和高度信息动态地调整纹理采样位置,使平面表面看起来具有凹凸感。这是一种称为视差映射(Parallax Mapping)的技术的实现。
当你从不同角度观察使用了BumpOffset的表面时,纹理会略微移动,模拟出材质表面有实际深度的视觉效果。这比简单的法线贴图提供了更强的深度感知,但比位移贴图(Displacement Mapping)计算成本低得多。
BumpOffset 节点的输入参数
BumpOffset 节点有几个关键输入参数,每个参数都对最终效果有重要影响:
- Coordinate (坐标) - 这是将被偏移的纹理坐标。通常连接到TexCoord节点或其他已经处理过的UV坐标。
- Height (高度) - 这个输入决定了表面的高度变化。通常来自灰度高度图,其中白色表示高点,黑色表示低点。这个输入本质上告诉系统"哪些部分应该看起来凸起,哪些部分应该看起来凹陷"。
- HeightRatio (高度比率) - 这是一个乘数,控制整体效果的强度或"深度"。较高的值会产生更明显的视差效果,但设置过高可能导致视觉伪影。通常需要微调找到平衡点。
- ReferencePlane (参考平面) - 这个参数决定了效果中的"零点"—表面既不凸起也不凹陷的高度。默认值是0.5,意味着灰色(128,128,128)表示中性平面。调整这个值可以改变整体效果的偏移方向。
BumpOffset 节点的工作原理
当材质被渲染时,BumpOffset 节点执行以下操作:
- 获取当前像素的视角方向(从相机到表面的向量)
- 根据提供的高度图和参数计算每个点的相对高度
- 计算纹理坐标应该向视角相反方向偏移多少
- 返回调整后的纹理坐标
这个过程使得当你从不同角度查看表面时,凸起部分会轻微"遮挡"它们后面的区域,就像真实的凸起表面一样。