PBR标准化工作流程

2020-04-06
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工作流,也就是第一种工作流,那我们就来看一下第一种工作流的贴图创建规则:
 
接下来我们看一个在实际工作中经常会遇到的问题,就是为什么Substance中的预览效果与导入引擎实际渲染效果差别很大?
 
人眼感知是非线性的,即使今天的显示器是数字的,它们仍然采用伽马编码信号作为输入。伽玛空间的公认标准称为sRGB,该标准定义了一个伽马空间映射到线性空间。
贴图往往被保存在伽马空间中,Shader计算要在线性空间中进行,以保证数学计算的正确性。但结果应在伽马空间中呈现,以使我们的眼睛看起来正确。因此,当贴图在着色器中采样时,由于是基于伽马校正过的值所以会导致计算不准确的结果。
 
最后我们总结一下PBR的关键要素:
1.能量守恒,反射的光线永远不会比照到表面的入射光线更亮。2.菲涅尔,非金属的F0值变动很小,只在2%-5%区间内;而金属的F0值范围在70%-100%。
热门文章
场景建模所需软件科普
2020-06-02
给3D建模新人的一些小建议
2020-06-02
3D美术职业晋级之路
2020-05-27
花两三万学3D场景合适么?
2020-05-27
游戏美术培训前必读(原画,3D建模,3D动作,次世代)
2020-05-22
3D场景max该如何安装?去哪找资源?
2020-05-22
相关推荐
3D场景的制作步骤
1. 3D场景建模的使用目的 使用地形生成编辑器在模拟自然地形效果上有很大的优势,但是也有局限性。在表现比较规整的地形,比如一现代化城市,初具规模的小镇,地下宫殿等等就存在这样的局限。因为使用地形编辑器建立地形时,地表贴图的数量不能太多,选择的地表贴图的数量越多游戏的运行效率就越低,适合选择2~3张贴图。而城市中的地面上所需要的贴图会非常多,车行道、人行道、草坪等远不止三张,而且城镇的街道是非常
2021-05-28
3d场景建模什么水平能找到工作?次世代游戏场景建模需要学多久
3d建模学多久这个问题不是很好回答,谁才知道你的实力怎么样,努力的态度怎么样,如果你三天打鱼两天晒网,我估计一万年也学不会。如果你全力以赴认真的学,五六个月就能很好的玩转3D建模,当然如果你想达到大神级别的水平,还得在有实力的基础上,练个两三年,毕竟高手也不是一下是高手的,曾经也是小菜鸟,想一步登天的,容易踩空,扯着大腿跟。 有的小伙伴说如果3d建模花费的时间太长的话,就不玩这门技术了,我想说的
2021-01-11
Unity3D构建游戏场景
构建自己的游戏场景,双摄像机使用: 用来俯瞰整个地图,位于右下一个简单的总结,总结游戏对象的使用游戏对象是所有出现在场景中的实体,他们可以直接创建模型,也可以通过脚本,预设动态创建游戏对象。对于游戏对象,可以进行很多操作,以及添加其他组件。比如常用的transform对象,主要负责控制对象的位置,方向和大小。通过对游戏对象的操作,实现了游戏的一些基本操作。游戏对象还有一些负责场景和控制的,它们通
2021-03-25
地编师的3D场景设计是什么?
地编师的3D场景设计是什么?目前主流的游戏制作引擎为Untiy和UE4,地编师负责使用3D场景模型在引擎中制作地图,制作天空及光效,负责整个地图的制作风格等等。这个时候工资大概根据你的城市,公司以及你的个人水平,可能会在3k~20k/月不等。 而进阶的地编,则还需要会制作贴图,修改/制作模型,自行绘制概念原画,甚至部分技术层面的修改。当然工资也是水涨船高啦。这个时候同样因为城市,公司,个人水平
2020-04-27
PBR概念及PBR核心理论和渲染原理
       PBR经不太长时间的发展,技术上和渲染的效果突飞猛进,是计算机图形学的下一代渲染技术。它在实时渲染和离线渲染领域都有着非常广泛且深入的应用。2012年可以称之为游戏行业PBR元年,这一年迪士尼动画工作室对基于物理的渲染进行了系统研究,并开发出了迪士尼BRDF,用于电影《无敌破坏王》,并且在年SIGGPRAPH2015上提出修正后的的BSDF适合离线渲染。  
2020-04-06
3D游戏场景管理概述
3D游戏场景常见场景管理技术对于一个有很多物体的3D场景来说,渲染这个场景最简单的方式就是用一个List将这些物体进行存储,并送入GPU进行渲染。当然,这种做法在效率上来说是相当低下的,因为真正需要渲染的物体应该是视椎体内的物体。除此之外,从裁剪算法和碰撞检测等算法的效率来说,使用这种数据结构也是相当低效的。比较好的方式是使用具有层次结构的空间数据结构存储待渲染的物体,如BVH(包围体层次结构)
2021-05-11