一、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通道中!!
标签:贴图,F0,非导体,流程,镜面反射,Metallic,Speculer,2.7 From: https://blog.51cto.com/u_136836/8938836