PBR纹理的10种贴图

PBR 是基于物理的渲染的首字母缩写。它试图通过模拟材料如何吸收和反射光,以模仿现实世界中的光流的方式产生视觉效果。最近的游戏引擎由于其逼真的效果而越来越多地使用 PBR 纹理。对于实时渲染,它们被认为是真实世界场景的最佳近似值。

推荐:用 NSDT编辑器 快速搭建可编程3D场景

为了创建效果,大多数渲染引擎都有其独特的工作流程。但是,PBR 纹理在不同的软件中创建相同的效果。因此,除了逼真的质量外,将项目导出到另一个软件变得简单。

PBR 纹理中使用了多个贴图:

  • Albedo:反照率
  • Normal:法线
  • Roughness:粗糙度
  • Metalness:金属度
  • Specular:镜面
  • Height:高度
  • Opacity:不透明度
  • Ambient Occlusion:环境光遮蔽
  • Refraction:折射
  • Emissive:自发光

最终产品由所有这些贴图组成。了解这些地图中的每一个完成的内容以获得最佳结果至关重要。掌握基础知识后,您可以调整设置以获得模仿真实世界条件的照片级逼真效果。

1. 反照率贴图

你的整个材质都是围绕反照率贴图构建的。您的图案是单一颜色或平面光图像。照明必须是平坦的。不应显示阴影,因为源照片照明可能与你的不同。阴影会在纹理中产生不规则性并使它们看起来不自然。反照率主要决定了纹理的颜色。在金属纹理中,它决定了材料反射的颜色。

2、法线贴图

法线贴图提供纹理深度。它使用复杂的计算模拟光线与物质表面相互作用的方式,以创建较小的凸起和凹痕。法线贴图不会更改你的基本几何图形。因此,在通过特定视角后,效果可能会减弱,尤其是在大幅上升或下跌时。

法线贴图的基色为浅紫色;这是法线贴图的底部,用于符号化多边形网格体的表面。由于法线贴图决定了光照与模型的交互方式,因此请尽量隐藏接缝。它们可以引起对接缝的注意。

3、粗糙度贴图

表面的粗糙度决定了它的粗糙度或光滑度。它们决定了光线在模型表面上的分布方式。粗糙的表面比光滑的表面在更多的方向上散射光线,导致更模糊而不是更清晰的反射。

值的范围是 0.0 到 1.0。当粗糙度等于 0.0 时,反射清晰,并且模型根本不会散射光线,从而在材质上产生更清晰、更明亮的反射和照明。当粗糙度等于 1.0 时,反射变得模糊。光线将更加分散在整个材料中。照明和反射更多地分布在模型上,但因此它们看起来要暗得多。例如,橡胶的粗糙度约为1.0,而闪亮塑料的粗糙度约为零。这些贴图是灰度的,白色表示最粗糙的表面,黑色表示光滑的表面。

4、金属度贴图

它是指表面反射其周围环境的程度。值的范围是 0.0 到 1.0。当金属度为0.0时,反照率颜色完全可见,材料似乎是塑料或陶瓷。当金属度为0.5时,它似乎是涂成金属的。当金属度达到1.0时,表面几乎失去了所有的反照率颜色,只反射环境。例如,当金属度为 1.0 且粗糙度为 0.0 时,表面类似于真实世界的镜子。

金属贴图同样是灰度,但最好坚持使用白色和黑色值,并利用粗糙度贴图来填充空白。反照率贴图将用作金属性贴图中黑色部分的漫反射颜色(纹理在光线接触时出现的颜色)。相反,白色将使用反照率颜色确定反射的颜色和亮度,材质的漫反射颜色将为黑色。在这种情况下,不再需要漫反射颜色,因为反射将为材料的该部分提供所有颜色和细节,从而将其变成黑色。

5、镜面贴图

在 PBR 中,镜面反射贴图可以使用完整的 RGB 颜色,这会影响你构建反照率的方式。有时使用镜面反射贴图代替金属性贴图。

如果要用金属贴图制作黄铜材质,请在反照率中将贴图的该部分涂成黄铜色调,以便反射使材质具有黄铜外观。相反,如果使用镜面反射贴图,则反照率的黄铜区域将完全为黑色,你需要将黄铜细节绘制到镜面贴图上才能达到相同的效果。这样做的好处是,你可以利用镜面贴图来更改非金属材质管理反射的方式,从而为你提供更大的自由和控制。缺点是很难准确管理您想要的结果。

6、高度贴图

法线贴图和高度贴图的相似之处在于它们都为底层网格体提供了次要细节。两者之间的主要区别在于,与法线贴图不同,高度贴图实际上将数据添加到 3D 网格并提高多边形计数。

在上图中,你可以看到网格在球体外边缘的脊处伸出。当你查看标准贴图时,会注意到边缘仍然是完美的圆形,这打破了深度感。高度贴图是一种灰度贴图,其中黑色表示网格的底部,白色表示网格的最高峰,灰色阴影表示介于两者之间的所有内容。高度贴图的好处是它们提供的细节量,从各个角度和任何照明条件下看起来都很完美。另一方面,对模型进行细分的必要性增加了渲染时间。因此,为了方便起见,首选法线贴图。

7、不透明度贴图

可以使用不透明度贴图使材质区域透明。如果你正在建造玻璃或低聚树枝或贴花,这一点至关重要。

它可以用于树木或贴花,如上图所示。你可以在单个多边形平面上构造一堆完整的叶子,并使用不透明度贴图使多边形的多余消失。然后可以对这些多边形进行分层,以创建需要很少处理能力的逼真树。

灰度不透明度贴图可用。白色是完全不透明的,而黑色是完全透明的。它们之间不同程度的半透明性由灰色的色调表示。0.0 是不透明的,而 1.0 是透明的。

8、环境光遮蔽贴图

环境光遮蔽为有缝隙的对象的遮挡部分添加阴影,使它们看起来更逼真。在渲染时,此贴图与反照率混合,以描述它对光线的反应。地图是灰度的,白色占据了大部分明部,而较暗的部分则处于阴影中,光线反应较少。遮挡值范围为 0.0 到 1.0,其中 0.0 表示完全黑暗(遮挡),1.0 表示无遮挡。

9、折射贴图

折射是光线在穿过固体、液体或气体时弯曲的过程,扭曲了通过透明物体(顾名思义)观察时的外观。正是这种现象使放大镜发挥作用,并导致物体在水下观察时看起来不同。这是材质工作流程的关键要素,因为所有透明材质在现实生活中都会引起折射,因此需要在CG工作中复制它以尽可能逼真。在大多数情况下,折射贴图本质上是一组常量值。无论如何,你不想折射光线的模型部分几乎肯定是不透明的,因此它们是否折射光线并不重要。

10、自发光贴图

这些贴图会使材质的某些元素看起来会散发出自己的光,从而可以在黑暗的地方看到它们。自发光有利于照亮小型 LED 或创建独特的条形照明效果。但是,如果应用太多,场景中的细节将被完全冲刷掉,场景将失去其活力。这些是完整的 RGB贴图。它们类似于反照率贴图,但它们用于光线。虽然自发光贴图可用于照亮整个场景,但它比添加传统照明要复杂得多。


原文链接:PBR纹理的10种贴图 --- BimAnt

相关推荐
战术摸鱼大师3 天前
OpenGL(四) 纹理贴图
贴图·opengl
xiangshangdemayi6 天前
WebGL系列教程六(纹理映射与立方体贴图)
webgl·贴图·uv·立方体·纹理坐标·纹理映射
gameckisme8 天前
Selfloss,官方中文,解压即玩,
游戏·unity·游戏程序·图形渲染·cocos2d·贴图·游戏策划
Ian102510 天前
Three.js new THREE.TextureLoader()纹理贴图使用png图片显示为黑色
前端·javascript·webgl·three.js·贴图·三维
DBBH11 天前
记录一下blender烘焙贴图黑边的一个坑
blender·贴图
牙膏上的小苏打233322 天前
Unity 贴图拷贝与性能对比
unity·贴图
蛋蛋wqt22 天前
ThreeJs学习-纹理贴图、顶点UV坐标
学习·贴图·uv
向宇it1 个月前
【unity小技巧】获取免费开源的人物模型,并为obj fbx人物模型绑定骨骼、动画——mixamo的使用介绍
开发语言·游戏·unity·开源·游戏引擎·贴图
向宇it1 个月前
【unity小技巧】下载原神模型,在Blender中PMX模型转FBX模型,导入到Unity中实现基于光照模型的内置和URP卡通渲染
开发语言·游戏·unity·游戏引擎·blender·贴图
NiNg_1_2341 个月前
Snipaste 操作指南
贴图