高度贴图(也称为视差贴图)与法线贴图的概念类似,但此技术更复杂,因此也更消耗性能。 高度贴图一种存储对象高度数据的灰度纹理。每个像素存储垂直于该像素所代表面的高度差。
参见 术语表 通常与法线贴图一起使用,并且通常用于为纹理贴图负责渲染较大凸起和突出的表面提供额外的定义。
虽然法线贴图修改了纹理表面上的光照,但视差高度贴图更进一步,实际上会移动可见表面纹理的区域,以实现一种表面级遮挡效果。这意味着明显的凸起其靠近(面向摄像机)的一侧将被扩展和夸大,而其远离(背离摄像机)的一侧将被缩小,并看起来被遮挡。
此效果虽然可以产生非常令人信服的 3D 几何体表示,但仍然限于对象网格Unity 的主要图形基元。网格构成了 3D 世界的大部分内容。Unity 支持三角形或四边形多边形网格。NURBS、NURMS、细分曲面必须转换为多边形。 更多信息
参见 术语表的平面多边形的表面。这意味着虽然表面凸起看起来会突出并相互遮挡,但模型的“轮廓”永远不会被修改,因为最终效果绘制在模型的表面上,并且不会修改实际的几何体。
高度贴图应为灰度图像,白色区域表示纹理的高区域,黑色表示低区域。这是一个典型的漫反射贴图及其对应的高度贴图。
在上图中,从左到右:1. 一个带有漫反射分配的岩石墙材质,但没有法线贴图或高度贴图。2. 分配的法线。光照在表面上进行了修改,但岩石不会相互遮挡。3. 分配了法线贴图和高度贴图后的最终效果。岩石看起来从表面突出,较近的岩石似乎遮挡了其背后的岩石。
通常(但并非总是)用于高度贴图的灰度图像也是用于遮挡贴图的好图像。有关遮挡贴图的信息,请参阅下一节。