URP 您所在的位置:网站首页 3dmax怎么贴pbr金属度贴图 URP

URP

2024-04-02 12:12| 来源: 网络整理| 查看: 265

内容偏多这是目录

PBR基础

19. 扩展 | 材质不同通道介绍

PBR介绍

首先本章节会从美术工作者的角度重新定义 PBR,讲述 Metal/Roughness 工作流、Specular/Glossiness 工作流以及其中的差异。建议读者们可以先通读两个工作流的原则来了解贴图制作的全貌。

在这个部分,我们会讨论两个最常用的工作流:金属/粗糙度工作流(Metal/Roughness)和镜面反射/光泽度工作流(Specular/Glossiness),并使用 Substance 系列工具制作贴图(能同时支持两种工作流),其中包括了 Substance Designer,Substance Painter 和 Substance B2M。对于两种工作流来说,Substance PBR 默认着色器使用了 GGX BRDF,没有对粗糙度/光泽度进行重新映射。然而,如果你想定制自己的映射(Remapping),也可以在 Substance 系列软件里轻松完成。

两种工作流都有它们自己的优缺点,没有哪个更优更劣,只有选择最适合你贴图表现的工具流才是正道。毕竟是内在的概念和原理使得贴图表现更为精确,而非工作流本身。即使它们两者最终可能都表现出了一样的性状,但内核却有着不同的实现方式。

什么是PBR?

PBR是一种基于物理的渲染方式。

是一种能对光在物体表面的真实物理反应提供更精确着色与渲染方法

PBR有俩种渲染流程 Metal_Roughness/Specular_Glossiness

这是Unity Lit ShaderPBR的优势?

作为美术制作者,我们可以从艺术角度和制作效率两个维度去看待 PBR 的优势:

PBR 的方法论和算法都是基于物理精确的公式实现的,这让我们在制作过程中无需反复猜度和测试很多材质的属性,也让我们更容易去制作一个更真实的场景。

场景和模型在所有光线条件下都会表现得非常精确。

PBR 提供了一个稳定的工作流,让不同的艺术家在不同的项目之间都保持相对恒定的输出模式。

PBR对美术工作者的意义是什么?

我们需要扔掉过往对漫反射贴图(Diffuse)和镜面反射贴图(Specular)的认知,因为在传统渲染工作流中,这两个贴图只是一个对光与材质比较粗糙的估算方法。

在 PBR 中,着色器负责执行符合能量守恒和 BRDF 物理定律的渲染工作,而艺术工作者则需要根据物理定律来创造贴图。PBR 很科学的一点就在于,它已经把很多材质的性质用物理的真实条件定义下来,设计师不需要再盲猜盲试它们的实现效果,从而可以将更多的时间投放在贴图的创意和设计上。

虽然符合规范和制作正确的贴图是很重要的事情,但是也并不意味着我们要放弃艺术性的直觉。3D设计师要时刻记住,是艺术的理解和角度真正赋予了材质生命,并在精雕细琢的细节和表达方式中体现了材质的故事。物理现象从来不是艺术家真正需要思考的核心,在物理的环境下工作并不意味着我们就不能创造出有风格的作品。

Metal_Roughness | 金属_粗糙度工作流(M/R工作流)

金属/粗糙度工作流(Metal/Roughness Workflow,下文简称M/R工作流)

是由一系列的贴图通道所定义的工作流,这些通道会被作为贴图传输到 PBR 的着色采样器中。

这个工作流对应的贴图包括 Base Color(基础色贴图)、 Metallic(金属贴图)、 Roughness(粗糙度贴图)

在 M/R 工作流中,PBR 着色器也同时使用 Ambient Occlusion(环境光遮蔽/环境吸收/AO贴图,下文统称环境光遮蔽贴图)、 Normal(法线贴图)、Height(高度贴图)来表现光影视差与置换位移的映射效果

F0 | 非导体(电介质)

对于大多数普通的非导体(电介质)材质来说,反射值都被设为 0.04(线性空间),即 4% 的反射率。在 M/R 工作流中,这个值一般是着色器不可变更的。

不过在另一些 M/R 实现流程中,例如 Substance 系列软件、Unreal Engine4 就会有提供一些控件让艺术家可以修改非导体(电介质)的 F0 值。在 Substance 中,这个输出区间被标签为「Specular Level」,由 Metal/Roughness PBR 着色器的材质采样器提供。它代表了 0.0-0.08 这个区间在着色器中会被重新映射为 0.0-1.0,而 0.5 就代表着 4% 的反射率

F0F0就是控制物体反射率的值。 非金属物体 = 反射值都被设为 0.04(线性空间) 在一些M/R工作流是可以改变的范围控制(0.0-0.08)

Base Color | 基础色贴图

RGB贴图-sRGB模式

Base Color 贴图是一个 RGB 贴图 ,它包含了俩种类型的数据 (漫反射/反射率的颜色)

这两有什么区别吗?

颜色代表着它本身反射的光的波长,比如白色反光强,黑色白色弱。

如果这个区域在金属贴图中被指示为金属(金属贴图中为白色),那么这个反射值就会被显示出来。

制作贴图

Base Color 贴图的色调一般看起来会比较平,它的对比度会低于传统的 Diffuse 贴图(传统的 Diffuse 贴图带有光影信息)

注意:如果数值太亮或太暗可能都会影响后续的光影渲染效果

暗色值,尽量不要低于 30-50 sRGB

亮色值,贴图中也不应该有色值高于 240 sRGB

Metallic | 金属贴图

金属贴图就是一个遮罩 控制那部分是金属,那部分是非金属。

金属贴图的功能可以理解为一个遮罩,它告诉着色器应该如何去解读 Base Color 贴图中的 RGB 数据。

金属贴图中   0.0(纯黑-0sRGB)代表了非金属,而 1.0(纯白-255sRGB)代表了原始金属

这里就需要了解一个重要的概念

金属的属性 第一,它们的反射值一般很高,会造成 70-100% 的镜面反射 第二,有些金属会被腐蚀

原始金属就是没有被腐蚀的金属状态,反光很强。

原始金属在金属贴图中的灰阶范围大概是 235-255 sRGB 之间。在这个区间里的金属会在 Base Color 贴图中会透传为 70-100% 的反射值,而对应 sRGB 范围 180-255 sRGB

腐蚀金属就是有大量锈迹,或者油漆。

这部分锈迹或者油漆部分还是按照非金属处理。

我们再来回顾一下金属贴图的几个要点:

• 金属被氧化、腐蚀、上漆、覆尘后,这些区域需要被当做非导体(电介质)材质来看待。

• 在金属贴图中,纯黑(0.0)代表了非金属,纯白(1.0)代表了金属,我们可以用过渡的灰阶来表示不同程度氧化和污垢。

• 如果金属贴图中有值低于 235 sRGB,那么在 Base Color 中对应区域的反射值也应该降低。

Roughness | 粗糙度贴图

粗糙度贴图是描述物体表面是否粗糙,如果粗糙会导致光的漫射。

比如石头和玻璃的粗糙度是不一样的,

石头的表面越粗糙反射的高光越散。

玻璃的表面光滑镜面反射越集中,让高光看上去越强。

粗糙度贴图

纯黑(0.0)代表了平滑表面,而纯白(1.0)代表了粗糙表面

总结 : 金属/粗糙度工作流的优劣势

优势

在 M/R 工作流中,由于非导体(电介质)的 F0 都是规定好的,所以设计师在对非导体 F0 赋值时不易出错。

纹理的缓存压力更小,因为金属贴图和粗糙度贴图都是灰度贴图。

目前来说是兼容性最广的工作流。

劣势

非导体(电介质)F0 的值固定为 4%,无法调整。然而,在大多是实现流程中都有控制器可以直接复写这个值,所以也不能算硬伤。

白色边缘问题较明显,尤其在低分辨率的情况下问题突出。

Specular_Glossiness | 镜面反射/光泽度工作流 (M/R)

M/R 工作流一样,镜面反射/光泽度工作流一样都是对贴通道贴图的定义。

这些 S/G 工作流独有的贴图分别是 Diffuse(漫反射贴图)、Specular(镜面反射贴图)、Glossiness(光泽度贴图)。

在这个工作流里,金属的反射值和非金属的 F0 值被放置在镜面反射贴图(Specular)中

镜面反射贴图中,你可以对非导体材质的 F0 值进行控制。

注意:这里可以控制F0 ,反射贴图很可能被赋予错误的值

Diffuse | 漫反射贴图

RGB贴图-sRGB

由于漫反射贴图中只包含反照率颜色(Albedo),所以那些指示原始金属的区域会被标记为黑色(0.0),因为金属不会有任何漫反射色彩.

和M/R的区别

漫反射贴图中的颜色表示的是非金属的反照率颜色,而纯黑(0.0)代表的是原始金属

Specular | 镜面反射贴图

RGB贴图-sRGB

镜面反射贴图是用于定义金属反射值和非导体(电介质)F0 值的贴图,

镜面反射贴图是 RGB 贴图,所以非导体材质可以赋予不同的 F0 值,在镜面反射贴图中,金属和非导体的 F0 值都被写在了 RGB 通道当中。

扩展 简单理解反射贴图控制物体不同反射,

镜面反射贴图包含了金属和非金属的 F0 值

制作贴图

原始金属的 F0 值应该是基于真实世界测量的数据来设定。如果金属产生了氧化或者有些覆盖层被定义为非金属时,这个金属区域的反射值就要降低。而在 S/G 工作流中,污垢和氧化层在漫反射贴图中的色值会变亮,而在镜面反射贴图中的色值会变低(如图 39)。图 39 中展示了原始金属上存在污垢层,而这片污垢在镜面反射贴图中就使用了正确的非导体(电介质)F0 值(在这个案例中使用了 4%)。

总结

镜面反射贴图包含了非导体(电介质)的 F0 值和原始金属的反射值。

非导体(电介质)反射的光比金属少。普遍非导体的反射值为 2-5%,在 sRGB 中,这个值大概在 40-75 之间,这个区间和 0.02-0.0 5的线性空间范围是重叠的。

普通宝石的反射值范围在 0.05-0.17(线性空间)。

普通液体的反射值范围在 0.02-0.04(线性空间)。

而原始金属的反射值则可以高达 70-100% 的镜面反射,映射到 sRGB 约为 180-255 sRGB。

如果你无法找到某个材质的折射率(IOR),那么你可以先假设它的 F0 为 4%(0.04 为塑料反射值)。

Glossiness | 光泽度贴图

灰度贴图-Linear

光泽度贴图适用于描述表面不平整度的贴图,表面不平整会造成光的散射(如图 41)。在这个贴图中,纯黑(0.0)代表的是粗糙表面,而纯白(1.0)代表了平滑表面。这和 M/R 工作流里的粗糙度贴图是完全相反的,但是在设计侧却有着类似的制图原则。

总结:镜面反射/光泽度工作流的优劣势

优势

边缘效应不会那么明显。

可以在镜面反射贴图中对非导体(电介质)材质的 F0 值自由调整。

劣势

由于在 S/G 工作流的镜面反射贴图中,非导体(电介质)材质的 F0 值是可以自由调整的,所以也会导致设计师容易输入错误的值。而这些错误的值被着色器误读后可能会打破能量守恒定律,从而造成不正确的渲染效果。

由于新增了一张 RGB 通道的镜面反射贴图,所以对性能消耗会更大。

S/G 工作流有些名词和传统的工作流太相似,但是实质所对应的数据可能是不一样的,因此会导致设计师容易误解或误操作。这种情况下就要求设计师有更好的 PBR 理论知识,例如了解非导体(电介质)的正确 F0 值,金属在漫反射色下表现为纯黑,以及在着色器没有自动校正情况下,能量守恒相关的基础知识。

通用贴图Ambient Occlusion | 环境光遮蔽/环境光吸收贴图(AO)

AO 贴图用于定义一个表面上的每个点在环境光下的暴露程度,它通常被用在后制效果中(加重夹角、交界面的阴影细节等)

Height | 高度贴图

高度贴图通常被用作渲染置换(Displacement)效果,它可以用作视差映射,来给纹理增加更明显的深度,而且比起法线和凹凸贴图更加真实。

Normal | 法线贴图

法线贴图可用于模拟表面的细节。贴图中的 RGB 通道分别对应的是表面上不同部位法线的 X、Y、Z 坐标。它可以用作保存高模的细节,并且映射到低模中去。在 Substance 工具系列中,你可以烘焙法线贴图也可以从高度贴图里转换法线贴图。

总结PBR俩种工作流程

理解2种PBR材质的制作,对贴图的要求等。表面材质拆分为金属与非金属两个类目来理解会更加直观有效

F0的使用

F0的理解,

M/R 工作流 中F0是固定的,   非导体(电介质)材质的 F0 值范围与次世代 PBR 着色器之间的关系。比起金属材质,非导体材质会反射更少量的光。普遍非导体材质的 F0 值会在 2-5% 之间,对应的是 RGB 范围为 40-75,与 0.02-0.05 线性范围重合。

**S/G工作流程中F0是记录在镜面反射贴图中可以调整的,**但是容易错误。

S/G工作流程适合制作宝石,塑料反射强但是非金属的物体。

贴图设置

因为我们使用不同的贴图要参与计算,要设置不同贴图方式才能正确的计算。

资料

The PBR Guide - Part 1 (adobe.com)

The PBR Guide - Part 2 (adobe.com)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有