2.7 Metallic与Speculer流程及相互转换

2023-12-13 19:38:42

一、PBR流程

金属/粗糙度和高光反射/光泽度工作流程

通用贴图:

法线贴图(normal map)

AO贴图(ambient occlusion map)

高度贴图(height map)

1.金属度/粗糙度工作流(常用)

BaseColor RGB贴图-sRGB

  • Base Color RGB贴图-sRGB
    • 储存数据:非导体(电介质)的漫反射色/反照率颜色(Diffuse Reflected Color/Albedo)和金属导体的镜面反射F0值。
    • 非导体使用4%(0.04)的F0反射值。
    • 混合材质(即非导体和金属导体混合材质)则可以认为同时储存了两种数据

    • 非导体(即电介质,非金属):暗色值,尽量低于30-50 sRGB,严格控制下应不低于50 sRGB。对于亮色值,贴图中不应高于240 sRGB。即不带有光影信息。
    • 导体(金属)的反射值:金属一般会有70~100%的镜面反射映射到sRGB大概为180~255,如下图所示。

    • 在Substance Designer软件中,你可以通过PBR BaseColor/Metallic Validate节点来验证是否在合适的范围内。

不同工作流中的Diffuse

传统工作流程中的Diffuse带有光影信息,PBR工作流中的Diffuse不带光影信息。(微观遮蔽信息除外,下图所示)。

小结:

Metallic 灰度贴图-Linear

储存数据:对应区域的金属度。作用类似于图层遮罩,告诉着色器应该如何去解读Base Color贴图中的RGB数据。 0.0纯黑代表非金属,1.0纯白代表纯金属。

小结:

Roughness 灰度贴图-Linear

在粗糙度贴图中,纯黑(0,0)代表了平滑表面,而纯白(1,0)代表了粗糙表面。

微平面粗糙度对材质外观的影响

微平面粗糙度对材质外观的影响,从左到右粗糙度越来越大 (图片来自Arnold Renderer Docs)

2.镜面反射/光泽度工作流

Diffuse RGB贴图-sRGB

存储数据:漫反射颜色(Albedo)

Specular RGB贴图-sRGB

Glossiness 灰度贴图-Linear

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

总结两种流程

两种工作流都有一个共同的问题,当贴图分辨率与纹素密度过小时,在金属导体和非导体边界会产生白色/黑边。所以要有一张良好大小和布局的UV。

Metallic/Roughness流程

Specular/Glossiness流程

优势

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

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

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

1.边缘效应不会那么明显。

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

劣势

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

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

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

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

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

二、流程转换

各个贴图中存储的数据:

金属度流程

镜面反射流程

Base Color

漫反射颜色+镜面反射F0

Diffuse

漫反射颜色

Metallic

材质区分,辅助解读Base Color

Specular

镜面反射F0

Roughness

表面状态参数

Glossiness

表面状态参数

Metallic流程 -> Specular流程

Specular流程->Metallic流程

第一步选取Specular,然后选取菜单,色彩范围,选择->阴影,灰度范围,调整参数如下图。

八猴中的效果

SP中的效果

再附上一个Unity中的Metallic效果。

注意的是Unity中Metallic流程中的Metallic和Roughness贴图是合在一起的,导出贴图时需要将Roughness放在Metallic贴图的A通道中!!

文章来源:https://blog.csdn.net/s178435865/article/details/134975030
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。