您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 qq_深海的鱼_y5x 于 2020-9-24 10:42 编辑
PBR是最近网络上的流行词,它是游戏美术制作经常会用到的一个绘图方法。 那么它原理和工作流程是怎么样的呢? 我们应该怎样正确高效地学习和使用PBR方法呢? 10分钟带你走进PBR标准化工作流程!(图片均来自成都完美世界美术制作中心) 首先我们来看看什么是PBR,PBR就是Physically-Based Rendering的缩写,意为基于物理的渲染。它提供了一种光照和渲染方法,能够更精确的描绘光和表面之间的作用。 它不仅擅长用来表现非常写实的材质,同时也能用来处理风格化的资源。
PBR流程制作的次世代角色
传统3D手绘角色使用PBR有以下几个优点: 第一,用PBR方法创建材质更容易,创建材质属性时不再需要猜测,而是根据真实数据设置 第二,材质在所有光照条件下看起来都是正确的 第三,PBR提供了一种稳定的美术工作流程
PBR有两种主要的工作流(指数据以何种形式输入到引擎中) 一种是Metallic/Roughness(金属值/粗糙度);另一种是Specular/Glossiness(镜面反射/光泽度) PBR的两种主要工作流下面,我们着重看一下第一种工作流。 根据菲涅尔效应,对于所有的材质来说,当以掠射角观察时,光滑物体接近“边缘”的地方,会形成完美的镜面,也就是说特定的角度上,“任何表面光滑的物质都可以成为完美镜面”。 我们说金属的镜面反射值高达70%-100%,反映在Metellic工作流中,就是Metallic值为1的部分,它所对应的base color,实际上就是metal reflectance,也就是金属的镜面反射值。
下面我们看一下这两种工作流的不同点。 比较两种工作流,Metallic由于使用了统一的非金属F0值而减少了因非金属F0值出错的可能性而更易于创作,其占用的贴图内存也更少,是目前被采用最多的工作流程。但Metallic的缺点是无法控制非金属的F0值(在有些工具中,例如UE4,可以通过Specular输入来改变F0值),在低分辨率贴图中边缘瑕疵问题会比较明显。
Specular工作流边缘瑕疵是黑色的,相较于前者的边缘瑕疵较为不明显,可以在specular贴图中控制非金属的F0值。但是相对的,Specular能够控制非金属F0值,因而在使用中更有可能导致错误值,能量守恒法则有可能会被打破,也会占用更多贴图内存:2RGB+1灰度图(镜面反射图是RGB贴图),它使用了与传统工作流程相同的术语,但却需要不同的数据,容易令人困惑。
Unity支持两种工作流,而UE4则只支持metallic工作流。Substance Designer两种工作流都支持,而Substance Painter官方说只支持metallic,如果要用specular工作流需要单独下载shader。Specular工作流对理解PBR有更高的要求,例如需要为非金属提供正确的F0值,为金属提供黑色的漫反射值,以及如果没有shader负责处理,则需要提供能量守恒方案。 综合上述两种工作流的优缺点,以及引擎和使用工具的情况来看,更偏好使用Metallic/Roughness工作流,我们来看一下第一种工作流的贴图创建规则:
(一)非金属部分 Albedo或漫反射 1.不应包含光照信息,比如AO;例外情况:Micro Occlusion 2.最暗值不能低于30(sRGB),如要严格一点,不低于50(sRGB);例外情况:Miroc Occlusion 3.最亮值不能高于240(sRGB)
(二)金属部分 金属反射值 1.范围比较高:70%-100% (180-255 sRGB)注:如用HSV的选色方式,涉及gamma值的转换; 2.有些金属会被腐蚀; 3.表面涂漆的金属应该作为非金属处理。 接下来我们看一个在实际工作中经常会遇到的问题,就是为什么Substance中的预览效果与导入引擎实际渲染效果差别很大? 这跟显示设备的校色、匹配场景环境、理解线性和非线性颜色空间的区别有关系。人眼感知是非线性的,即使今天的显示器是数字的,它们仍然采用伽马编码信号作为输入。伽玛空间的公认标准称为sRGB,该标准定义了一个伽马空间映射到线性空间。
贴图往往被保存在伽马空间中,Shader计算要在线性空间中进行,以保证数学计算的正确性。但结果应在伽马空间中呈现,以使我们的眼睛看起来正确。因此,当贴图在着色器中采样时,由于是基于伽马校正过的值所以会导致计算不准确的结果。 下图是线性值和sRGB的转换。 最后我们总结一下PBR的关键要素:
1.能量守恒,反射的光线永远不会比照到表面的入射光线更亮。 2.菲涅尔。非金属的F0值变动很小,只在2%-5%区间内;而金属的F0值范围在70%-100%。 3.Specular强度通过BRDF、roughness或者glossiness贴图和F0反射值来控制。 4.光照计算是在线性空间计算的。
一个好的PBR作品,会把物质的颜色、粗糙度、高光属性等进行分别处理,使得物质体现出更真实的感觉。 |