凹凸/法线/移位贴图的区别

这篇具有很好参考价值的文章主要介绍了凹凸/法线/移位贴图的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

你是否在掌握 3D 资产纹理的道路上遇到过障碍? 不要难过! 许多刚接触纹理或 3D 的艺术家在第一次遇到凹凸贴图(Bump Map)、法线贴图(Normal Map)和移位贴图(Displacement Map)时通常会感到困惑。 他们似乎都在做同样的事情,对吧?
凹凸/法线/移位贴图的区别

推荐:用 NSDT场景设计器 快速搭建3D场景。

这个问题的答案是一个响亮的“有点”。 这三种类型的贴图中的每一种都会在几何表面上创建一些看起来像附加分辨率或细节的东西。 这些细节有些是真实的,有些则不是。 在本文中,我们将深入研究这三种贴图,并了解每种贴图做什么和不做什么,更好地掌握每种类型的优点和缺点。

1、凹凸贴图

凹凸贴图(Bump Map)使用计算机图形在 3D 模型的表面上创建深度和纹理的错觉。 纹理是使用灰度和简单的照明技巧在物体表面人工创建的,而不是必须手动创建单独的凸起和裂缝。

凹凸贴图实际上是我们今天要看的一种较旧的贴图类型。 关于凹凸贴图,你应该了解的第一件事是它们创建的细节是假的。 由于凹凸贴图,不会向模型添加额外的分辨率。 通常,凹凸贴图是仅限于 8 位颜色信息的灰度图像。 那只是黑色、灰色或白色的 256 种不同颜色。

凹凸贴图中的这些值基本上用于告诉 3D 软件两件事: 上或下。 当凹凸贴图中的值接近 50% 灰色时,表面上几乎没有细节。 当值变得更亮,逐渐变成白色时,细节似乎从表面上拉了出来。 与此形成对比的是,当值变得更暗并接近黑色时,它们似乎被推入了表面。

凹凸/法线/移位贴图的区别

凹凸贴图非常适合在模型上创建微小的细节。 例如皮肤上的毛孔或皱纹。 考虑到只使用灰度值,它们也相对容易在像 Photoshop 这样的 2D 应用程序中创建和编辑。

凹凸贴图的问题在于,如果相机从错误的角度观察它们,它们很容易穿帮。 由于他们创建的细节是假的,并没有添加真正的分辨率,因此应用凹凸贴图的几何体轮廓将始终不受贴图影响。

2、法线贴图

法线贴图(Normal Map)可以被认为是一种更新、更好的凹凸贴图。 与凹凸贴图一样,关于法线贴图,首先需要了解的是它们创建的细节也是假的。 场景中的几何体没有额外的分辨率。

最后,法线贴图确实会在模型的表面上产生深度细节的错觉,但它与凹凸贴图的做法不同。 正如我们所知,凹凸贴图使用灰度值来提供向上或向下的信息。 法线贴图使用与 3D 空间中的 X、Y 和 Z 轴直接对应的 RGB 信息。 此 RGB 信息告诉 3D 应用程序每个多边形的表面法线的确切方向。 表面法线的方向(通常简称为法线)告诉 3D 应用程序应如何对多边形进行着色。

在学习法线贴图时,你应该知道有两种完全不同的类型。 在 2D 空间中查看时,这两种类型看起来完全不同。 最常用的称为切线空间(Tangent Space)法线贴图,主要是紫色和蓝色的混合。 这些贴图最适合在动画过程中必须变形的网格。 切线空间法线贴图非常适合角色之类的东西。 对于不需要变形的资产,通常使用对象空间(Object Space)法线贴图。
凹凸/法线/移位贴图的区别

这些贴图有不同颜色的彩虹组合,并且性能略高于切线空间贴图。 在考虑使用法线贴图时,需要注意一些事项。 与凹凸贴图不同,这些类型的贴图很难在 Photoshop 等 2D 软件中创建或编辑,可能需要使用网格的高分辨率版本烘焙法线贴图。

但是,编辑这些类型的贴图有一些例外情况。 例如,MARI 能够绘制我们在法线贴图中看到的表面法线信息类型。 在支持方面,法线贴图已很好地集成到大多数管道中。 与凹凸贴图不同,这条规则有例外。 其中之一是手机游戏设计。 直到最近,硬件才发展到手机游戏开始在其管道中采用法线贴图的程度。

3、移位贴图

移位贴图(Displacement Map)物理置换(顾名思义)应用它们的网格。 为了根据移位贴图创建细节,通常必须细分或细分网格,以便创建真实的几何体。

移位贴图的伟大之处在于它们实际上可以从高分辨率模型烘焙或手工绘制。 与凹凸贴图一样,移位贴图由灰度值组成。
凹凸/法线/移位贴图的区别

在为低分辨率网格创建额外细节时,移位贴图是王道。 虽然可以使用 8 位置换贴图,但使用 16 位或 32 位置换贴图几乎总能获得更好的效果。 虽然 8 位文件在 2D 空间中看起来不错,但在进入 3D 空间时,它们有时会由于值的范围不足而导致条带或其他伪像。

现在,这是关于移位贴图的不太好的事情。 实时创建所有这些额外的几何图形对你的系统来说是极其困难和困难的。 因此,大多数 3D 应用程序在渲染时计算最终置换结果。

与凹凸贴图或法线贴图相比,移位贴图还会显着增加渲染时间。 由于这种额外的几何形状,很难击败移位贴图的结果。 由于表面实际上已修改,因此轮廓反映了额外的几何体。 在决定使用移位贴图之前,应该始终权衡移位贴图的成本和增加的好处。

4、整合使用凹凸/法线/移位贴图

在某些情况下,你可以在同一资产上将凹凸贴图或法线贴图与移位贴图结合使用。 最好的方法是对几何体的大变化使用位移,然后对精细细节使用法线或凹凸。 无论选择使用哪种贴图,了解其工作原理以及它的优点和缺点会让你更容易做出决定。

最终,你使用的贴图应该是最适合自己正在处理的场景需求。

原文链接:凹凸/法线/移位贴图 — BimANt文章来源地址https://www.toymoban.com/news/detail-412574.html

到了这里,关于凹凸/法线/移位贴图的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity - 从RG中解压法线贴图

    Unity : 2020.3.37f1 Pipeline : BRP 备忘便于索引 之前使用 GPA 还原一些效果的时候,发现 法线贴图的 Y 通道数值不对,感觉被 翻转了 比方说,下面是 GPA 中的法线 这个法线是 DX 方式的,不是 OpenGL 的,如何辨别 法线是属于 DX 还是 OpenGL 的,可以参考:快速判断OpenGL和DirectX法线的技

    2024年02月12日
    浏览(81)
  • 利用法线贴图渲染逼真的3D老虎模型

    在线工具推荐: 3D数字孪生场景编辑器  -  GLTF/GLB材质纹理编辑器  -  3D模型在线转换  -  Three.js AI自动纹理开发包  -  YOLO 虚幻合成数据生成器  -  三维模型预览图生成器  -  3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时,有几种不同的风格: 写实风格 :这种风格

    2024年02月05日
    浏览(49)
  • 法线贴图可以实现什么样的3D效果

    在线工具推荐: 3D数字孪生场景编辑器  -  GLTF/GLB材质纹理编辑器  -  3D模型在线转换  -  Three.js AI自动纹理开发包  -  YOLO 虚幻合成数据生成器  -  三维模型预览图生成器  -  3D模型语义搜索引擎 在 3D 建模中,曲面由多边形表示。照明计算是基于这些多边形的几何形状执

    2024年02月03日
    浏览(52)
  • Unity地面交互效果——2、动态法线贴图实现轨迹效果

    回到目录 Unity引擎动态法线贴图制作球滚动轨迹   大家好,我是阿赵。   之前说了一个使用局部UV采样来实现轨迹的方法。这一篇在之前的基础上,使用法线贴图进行凹凸轨迹的绘制。   先来回顾一下,上一篇最终我们已经绘制了一个轨迹的贴图   可以思考一下,

    2024年02月06日
    浏览(69)
  • Unity | Shader基础知识(第十一集:什么是Normal Map法线贴图)

    目录 前言 一、图片是否有法线贴图的视觉区别 二、有视觉区别的原因 三、法线贴图的作用 四、信息是如何存进去的 五、自己写一个Shader用到法线贴图 六、注意事项 七、作者的话 前言 本小节会给大家解释,什么是法线贴图?为什么法线贴图会产生深度?我们怎么自己写一

    2024年04月15日
    浏览(46)
  • 浅谈和辨析数据资源、数据资产、数据要素的区别

    从商业决策到科学研究,从个性化服务到社会治理,数据都在发挥着越来越重要的作用。然而,对于数据资源、数据资产和数据要素这三个概念,人们往往容易混淆。为了更好地理解和利用数据,有必要对这三个概念进行深入的辨析。下面亿信华辰将逐一探讨这三个概念的定

    2024年02月01日
    浏览(56)
  • 【leetcode合集】如何知道自己是否掌握了数组与链表?试试这几道题目吧!

      目录 1.数组题目合集 1.1 leetcode.27 移除元素 1.2 leetcode.26 删除有序数组中的重复项 1.3 leetcode.88 合并两个有数数组 2.链表题目合集 2.1 leetcode.203 移除链表元素 2.2 leetcode.206 反转链表 2.3 leetcode.876 链表的中间结点 2.4 牛客 链表中倒数第k个结点 2.5 leetcode.21 合并两个有序链表 2.

    2024年01月25日
    浏览(41)
  • 带你完全掌握== 和equals区别

    首先说一下==和equals之间的区别: == 如果比较的是基本数据类型 则比较的是其中的值,如果比较的是对象的话,比较的是其中的内存地址,看个案例: 可以看出基本数据类型是可以使用==进行判断是否相等,引用数据类型则不能,那应该怎么办呢? 这个时候 我们要使用equ

    2024年02月15日
    浏览(34)
  • 掌握 gRPC 和 RPC 的关键区别

    1、RPC 的本质 首先,我们探讨一下什么是  RPC 。RPC,缩写为 Remote Procedure Call Protocol,直译来看就是 远程过程调用协议 。 讲得通俗一些: RPC 是一种 通信机制 RPC 实现了 客户端/服务器 通信模型 官方的定义可能会这样解释: 它是一种协议,可以使程序能在网络上请求远程计

    2024年02月02日
    浏览(31)
  • 【点云】生成有凹凸的平面

    尝试用一些数据生成有凹凸面的点云。 我们姑且把z轴当成有凹凸的缺陷,x轴和y轴共同组成一个平面。 高斯函数wiki中,我们得知 其中,σ为标准差,用来控制“钟形”的宽度。 根据wiki中下面的举例 sigma_X = 1;sigma_Y = 2; 可以看出,σx=σy时,高斯的水平集是个圆,σx不等于σ

    2024年02月19日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包