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

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

1、什么是位移贴图

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

2、什么是法线贴图

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5、总结

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

原文链接:位移贴图和法线贴图的区别 (mvrlink.com)

相关推荐
山峰哥2 天前
吃透 SQL 优化:告别慢查询,解锁数据库高性能
服务器·数据库·sql·oracle·性能优化·编辑器
holeer2 天前
【V1.0】Typora 中的 HTML 支持|软件文档自翻译
前端·编辑器·html·typora·web·markdown·文档
硬汉嵌入式2 天前
Vim 9.2版本正式发布
编辑器·vim
吹牛不交税2 天前
关于vscode左侧资源管理器目录层级疑似异常的问题
ide·vscode·编辑器
No8g攻城狮3 天前
【Linux】Linux nano 编辑器全攻略:从入门到精通
linux·运维·编辑器·nano
你怎么知道我是队长3 天前
VsCode插件推荐---Todo Tree
ide·vscode·编辑器
becatjd3 天前
VScode的claude code插件报错command ‘claude-vscode.editor.openLast‘ not found
ide·vscode·编辑器·claude·anthropic·claude code
BIBI20493 天前
下载指定历史版本 VSCode 或 VSCode Insider
ide·vscode·编辑器
johnny2333 天前
编辑器和笔记软件汇总:Typst、Reminds、Memos、Editor、MDX Notes、Jotty
笔记·编辑器
宫瑾3 天前
vscode未定义标识符报错的解决方法
ide·vscode·编辑器