PBR的概念、基本原理和使用中要遵守的规则。这节主要参考的是Allegorithmic公司官方的英文教程,同时也融合了我在其他资源上看到的一些有价值的知识点。
首先我们来看一下什么是PBR。PBR就是Physically-Based Rendering的缩写,意为基于物理的渲染。它提供了一种光照和渲染方法,能够更精确的描绘光和表面之间的作用。它不仅擅长用来表现非常写实的材质,同时也能用来处理风格化的资源。
PBR有两种主要的工作流,一种是Metallic/Roughness(金属值/粗糙度),另一种是Specular/Glossiness(镜面反射/光泽度)。这里我们说的工作流,是指数据以何种形式输入到引擎中。
我们着重来看一下第一种工作流。
根据菲涅尔效应,对于所有的材质来说,当以掠射角观察时,光滑物体接近“边缘”的地方,会形成完美的镜面,也就是说特定的角度上,“任何表面光滑的物质都可以成为完美镜面”。
我们说金属的镜面反射值高达70%-100%,反映在Metellic工作流中,就是Metallic值为1的部分,它所对应的base color,实际上就是metal reflectance,也就是金属的镜面反射值。
我们现在来看一下两种工作流的不同点。
Unity支持两种工作流,而UE4则只支持metallic工作流。Substance Designer两种工作流都支持,而Substance Painter官方说只支持metallic,如果要用specular工作流需要单独下载shader。
在低分辨率贴图中边缘瑕疵问题会比较明显
Specular工作流,边缘瑕疵也是有的,是黑色的,但是非常不明显。
Specular工作流对理解PBR有更高的要求,例如需要为非金属提供正确的F0值,为金属提供黑色的漫反射值,以及如果没有shader负责处理,则需要提供能量守恒方案。
综合上述两种工作流的优缺点,以及引擎和使用工具的情况来看,我个人比较偏好使用Metallic/Roughness工作流,也就是第一种工作流,那我们就来看一下第一种工作流的贴图创建规则:
接下来我们看一个在实际工

本文介绍了PBR(基于物理的渲染)的概念和工作原理,重点讨论了Metallic/Roughness与Specular/Glossiness两种工作流,并分析了它们的区别和适用场景。内容涉及菲涅尔效应、伽马空间与线性空间的转换,以及在实际工作中的应用问题。
最低0.47元/天 解锁文章
1619

被折叠的 条评论
为什么被折叠?



