位移贴图和法线贴图的区别

简介: 位移贴图和法线贴图在原理、使用范围、精度和复杂度、生成方式以及存储方式等方面存在差异,开发者可以根据具体需求选择适合的贴图技术。

位移贴图和法线贴图都是用于增强模型表面细节和真实感的纹理贴图技术,但是它们之间也存在着差异。

1、什么是位移贴图

位移贴图:位移贴图通过在模型顶点上定义位移值来改变模型表面的形状。该贴图包含了每个像素的高度值信息,使得模型的细节能够更具深度感。位移贴图可以创建出凹凸不平的表面,使得模型看起来更加真实、立体。常见的位移贴图格式包括灰度图、RGB图或RGBA图,其中每个像素值表示对应的位移偏移量。

2、什么是法线贴图

法线贴图:法线贴图存储了每个像素点处表面法线的方向信息。与位移贴图不同,法线贴图并不改变模型的几何形状,而是通过修改模型表面法线的方向来模拟细节。因此,法线贴图可以以较低的多边形数目来实现更真实的表面效果。法线贴图通常使用RGB图像来表示法线方向,其中每个通道分别对应X、Y、Z轴上的法线分量。

3、位移贴图和法线贴图的应用

位移贴图和法线贴图都是常用的纹理贴图技术,被广泛应用于游戏开发、电影特效、建筑可视化等领域。

游戏开发:在游戏开发中,位移贴图和法线贴图可以用于增强模型的真实感和细节表现。例如,在低多边形的角色模型或场景中应用法线贴图可以让其看起来更加详细和逼真,同时不会增加过多的顶点数量和计算负担;而在高精度模型中使用位移贴图可以产生更高质量的凹凸细节效果。

电影特效:在电影特效制作中,位移贴图和法线贴图也被广泛应用于增强场景、角色模型的真实感和细节表现。例如,在渲染皮肤、服装、头发等细节时,使用法线贴图可以让角色模型看起来更加真实,同时不会影响渲染速度;而在渲染高精度模型时,使用位移贴图可以利用纹理贴图的优势,不会增加大量的几何信息。

建筑可视化:在建筑可视化领域,位移贴图和法线贴图也可以用于增强场景、建筑模型的真实感和细节表现。例如,在渲染石材、木材等材质时,使用法线贴图可以让材质看起来更加真实,同时减少几何数据的数量;而在渲染高精度模型时,使用位移贴图可以产生更高质量的细节效果,提升场景的真实感。

4、位移贴图和法线贴图的效果预览

大多数的模型都是使用专业的建模软件来设置模型贴图,到是在导出模型的时候,很有可能丢失材质贴图。另外这些工具都是一些专业的建模软件,使用起来有一定的门槛,对于普通的使用者来说是一个比较复杂的事情。这些软件使用前还要安装一些复杂的依赖环境,如果用户只想要为设置一个贴图,那么这些前期的准备工作都会使一部分用户望而却步。

那么有没有其他的工具可以替代这些专业的建模工具来为模型进行贴图呢?当然可以,GLTF 编辑器 就是一款基于web的在线贴图工具,通过这个工具用户只需在浏览器中打开工具简单设置几步就可以为模型设置精美的贴图。

下面我们使用来演示一些位移贴图和法线贴图在模型上的具体体现。首先使用 GLTF 编辑器 打开一个船的模型,这时候船身没有设置任何贴图,效果如下:

我们准备的材质贴图如下:

为船身设置位移贴图,如下:

正如上面的介绍所说,位移贴图对船身产生了一定的影响,船身有一些微小的凹凸。

接下来,我们用同样的材质设置发现贴图,如下图:

与位移贴图不同,法线贴图并不改变模型的几何形状,而是通过修改模型表面法线的方向来模拟细节,法线贴图可以以较低的多边形数目来实现更真实的表面效果,船身就像画了一些鸟的图案。

5、总结

从上述可以总结出:位移贴图通过在模型上定义位移值,改变模型的顶点位置来模拟几何细节。而法线贴图则是通过修改模型表面法线的方向来模拟高频细节。


原文链接:https://www.mvrlink.com/the-difference-between-displacement-map-and-normal-map/

目录
相关文章
|
存储 编解码 算法
凹凸贴图和法线贴图的区别
凹凸贴图适用于一些简单的凹凸效果,而法线贴图则更适合提供更高精度和真实感的凹凸纹理效果
286 1
|
存储 vr&ar 图形学
如何设置3D模型法线贴图?
如何设置3D模型法线贴图?
137 0
|
数据可视化 算法 vr&ar
位移贴图的实现原理
位移贴图在游戏开发、电影特效和产品可视化等领域得到广泛应用,能够增强模型的真实感和细节表现,提升图形渲染的质量和逼真度。
158 1
|
图形学 开发者
3D模型如何设置凹凸贴图?
3D模型如何设置凹凸贴图?
144 0
|
存储 vr&ar 图形学
法线贴图的视线原理
使用法线贴图可以大大提高渲染效果,使低多边形数的模型看起来具有高多边形数模型的细节和真实感。在游戏开发、电影制作和虚拟现实等领域,法线贴图被广泛应用于增强场景和物体的视觉效果。
151 2
|
1月前
ThreeJs给物体添加贴图
这篇文章详细说明了在Three.js中如何给3D物体添加贴图,并展示了实现局部贴图的技术和方法。
90 1
ThreeJs给物体添加贴图
|
1月前
Cesium给物体添加贴图
这篇文章讲解了在Cesium中如何为3D模型添加贴图,并提供了具体的实现步骤和代码示例。
80 2
|
3月前
【threejs教程】让你的场景贴图变得多姿多彩:UV坐标详解
【8月更文挑战第6天】threejs教程:让你的场景贴图变得多姿多彩,UV坐标详解
172 5
【threejs教程】让你的场景贴图变得多姿多彩:UV坐标详解
|
3月前
|
存储 编解码 算法
第5章-着色基础-5.4-锯齿和抗锯齿
第5章-着色基础-5.4-锯齿和抗锯齿
26 1
|
编解码 图形学 容器
3D模型如何添加表面贴图?
通过模型表面贴图技术,可以实现各种效果,如木纹、石纹、金属反射、布料纹理等,从而使模型更加生动、具有细节和丰富的外观。
142 0