共计 2140 个字符,预计需要花费 6 分钟才能阅读完成。
1、什么是凹凸贴图
凹凸贴图(bump mapping)是一种计算机图形学中的渲染技术,用于在给定的外表上模仿渺小的凹凸纹理。通过在外表法线方向上微调每个像素的光照值,能够给平滑的外表减少视觉上的凹凸感。
在凹凸贴图中,每个像素点都蕴含了一个法线向量,示意该点外表的方向。这些法线向量通常以纹理的模式存储在一个称为凹凸贴图的二维图像中。渲染过程中,依据法线向量的信息,调整每个像素的光照计算结果,使得光线在表面上的反射看起来产生渺小的凹凸成果。
凹凸贴图能够用于减少物体的细节和真实感,例如在石头、皮肤、织物等外表上模拟出凸起和凸起的纹理成果。这种技术能够通过在三维建模软件中创立凹凸贴图,或者通过在渲染过程中动静生成凹凸贴图来实现。
须要留神的是,凹凸贴图只是一种视觉上的成果,不扭转理论的物体几何形态。它是一种节约计算资源的技术,可能在不减少多边形数量的状况下,为平滑的外表削减细节。
2、什么是法线贴图
法线贴图(normal mapping)是一种计算机图形学中的贴图技术,用于在平坦外表上模拟出凹凸纹理的成果。通过为每个像素点提供一个法线向量,法线贴图能够使得渲染的物体外表看起来具备粗疏的凹凸感。
在法线贴图中,每个像素点都蕴含了一个法线向量,代表着该点外表的方向。这些法线向量通常以纹理的模式存储在一个称为法线贴图的二维图像中。渲染过程中,依据法线贴图中的法线信息,调整每个像素的光照计算结果,使得外表的法线向量发生变化,从而呈现出凹凸的纹理成果。
与凹凸贴图相比,法线贴图可能提供更加精密和实在的凹凸成果。它能够用于模仿各种材质的凹凸纹理,例如石头、木材、金属等。法线贴图通常由业余的三维建模软件生成,并与模型的纹理贴图一起应用。
须要留神的是,法线贴图只是一种视觉上的成果,不扭转理论的物体几何形态。它是一种在渲染过程中模仿细节的技术,能够加强物体的真实感和细节感。
3、凹凸贴图和法线贴图成果展现
上面我将应用 GLTF 编辑器来展现凹凸贴图和发现贴图有那些不同。
关上 GLTF 编辑器,在编辑器导入一个 GLB 格局的飞机模型,如图所示:
咱们用 GLTF 编辑器
为飞机翅膀的设置凹凸贴图,操作步骤:
- 在场景中选中飞机的机身,右侧会弹出材质设置面板;
- 在面板中找到凹凸贴图设置组件,间接上传材质贴图即可(材质贴图提前制作好,保留到本地),成果如下图:
GLTF 编辑器 对机身的凹凸贴图成果 看起来仿佛问题不大。
再来看一下法线贴图:
GLTF 编辑器 对机身法线贴图的成果
能够看到机身曾经有些变形了,这是为什么呢?
法线贴图不会间接导致模型的几何形态产生变形。然而,当应用法线贴图时,渲染过程中对顶点法线的计算可能会造成一些视觉上的变形。
在应用法线贴图时,顶点的法线通常是依据模型的初始几何信息计算得出的,而后通过插值来确定其在表面上的精确地位。然而,因为法线贴图的作用,光照计算过程中应用了法线贴图中的法线信息,从而使得外表的光照成果具备了凹凸感。
这种计算过程中的插值和法线的变换会导致一些视觉上的变形成果。特地是在模型的曲面、棱角或轻微细节处,因为顶点之间法线的插值,可能会呈现一些平滑的过渡或细节损失的状况。这样的变形通常在离模型较近的察看间隔下更为显著。
为了尽量减少法线贴图引起的模型变形,能够采取一些优化策略,如减少模型的顶点密度、应用更高分辨率的法线贴图、调整插值算法或应用其余的几何细节加强技术。同时,对于特定的场景和状况,也能够思考应用其余的贴图技术或更简单的几何模型来实现更准确的成果。
4、总结
凹凸贴图(Bump Mapping)和法线贴图(Normal Mapping)都是计算机图形学中罕用的纹理映射技术,用于模仿外表的凹凸成果。它们在实现上有一些区别:
工作原理:
凹凸贴图:凹凸贴图通过批改像素点的法线向量,扭转光照计算结果来模仿凹凸成果。它通过一张灰度图(灰度值代表高度信息)和模型的法线向量进行计算。依据灰度图中像素的灰度值,调整法线向量的方向和强度。
法线贴图:法线贴图通过提供每个像素点的法线向量,间接影响光照计算结果。每个像素点的法线是由一张 RGB 纹理图像示意的。在渲染过程中,法线贴图中的法线向量被用来调整每个像素的光照计算结果,以产生凹凸成果。
精度和细节:
凹凸贴图:凹凸贴图可能模仿比较复杂的凹凸成果,能够通过灰度图的不同灰度值来管制不同细节级别的凹凸水平。但绝对于法线贴图,它的细节精度稍低。
法线贴图:法线贴图可能提供更高的细节精度,可能模仿更实在的外表纹理。每个像素点的法线信息都可能准确地指定其外表的方向,使得渲染后果更加粗疏和准确。
实现复杂度:
凹凸贴图:凹凸贴图的实现绝对较简略,只须要一张灰度图和法线向量的计算即可。它在性能方面也绝对较高效。
法线贴图:法线贴图的实现复杂度绝对较高,须要生成并存储每个像素点的法线信息,同时渲染时须要对每个像素进行法线计算。这样会减少内存占用和渲染开销。
总的来说,凹凸贴图实用于一些简略的凹凸成果,而法线贴图则更适宜提供更高精度和真实感的凹凸纹理成果。依据具体应用场景和需要,能够抉择适合的贴图技术来达到冀望的视觉效果。
原文链接:凹凸贴图和法线贴图的区别