关于PBR贴图的那些事儿
2955 3
实名

通过了实名认证的内容创造者

发布于 2024-2-19 06:10:19

您需要 登录 才可以下载或查看,没有账号?注册

x

ff22b03891d4ccab9bb4031af97927cb.jpg


关于作者和文章



天匠映像游戏教育TENJOY GAME EDU首先声明,这篇文章是转载的,在“天匠映像技术交流群”里看到有朋友发,看着非常有用,所以拿来一起共勉的。这篇文章是署名为何三林(真名叫:何淋?猜的~)的朋友发布在博客上的连载,作者应该是一位程序,不过对于PBR流程的理解和对于美术师应该了解的一些事情非常清楚。今天发布出来希望大家能对PBR流程有更深入的理解。 一、对PBR的误解



天匠映像游戏教育TENJOY GAME EDU 在开始之前,要对究竟什么是PBR以及PBR需要什么样的贴图做一些澄清。首先,金属贴图metalnessmap并不是PBR的必须,也不是使用了高光贴图specular map就不能算作PBR。PBR基本概念是一系列复杂的处理真实物理和光照的渲染器的组合,以及在这些渲染器下工作的一系列使用了标准化的表示真实材质属性的参数的贴图。PBR本质是一个用于创建贴图和做渲染工作的整体系统,通常在不同的工具和引擎下有不同的实现(一般指渲染器模型和贴图的输入类型)。直接将非PBR的作品在PBR的渲染器下渲染是不会有正确真实的效果的。所以,渲染器只是PBR的一部分,要正确地使用PBR得到真实的效果,还必须要考虑到如何正确地校准、使用PBR下的贴图。 二、PBR做了哪些改变



天匠映像游戏教育TENJOY GAME EDU
要想透彻理解怎样创建PBR贴图或者怎样将以前模式下的贴图转换到PBR下,就必须要清楚PBR的渲染器做了怎样的改变。首先,一个重要的改变就是光照的计算方式。PBR使用了动态光源和实时阴影技术,以及提供了精准环境漫反射和镜面折射的基于图像光照(image-based-lighting)的技术。这就使得美术不用再去将光照、反射、阴影等直接绘制到贴图上,不用再去烘焙光照贴图,而将注意力转移到重现真实的材质属性。线性空间渲染使得美术不用再在高光贴图中使用漫反射的补色来获得真实的白色高光,同时PBR微表面算法中的能量守恒将使美术不用再在高光贴图中使用灰度来区分材质的粗糙(更黑)和光滑(更亮)的区域。这就意味着高光贴图通常只用包含比数值稍微复杂一点的信息(表示绝缘体的灰度等级,表示金属的色彩信息),其他的变化将交由微表面贴图来定义。
三、对传统工作流程的吐槽



天匠映像游戏教育TENJOY GAME EDU
传统方式往往将很多东西混杂在一起去实现一个凭空想象的效果,而且每个人每个公司都有自己的方式,就好比绘画一样,没有一个标准的流程和规范。这里用一个狙击枪的作品来举例(diffuse-specular-normal)。


1.     漫反射贴图太暗,只能在特殊的光照环境中才能的到较好的效果。(千万不要讲作品/贴图放置在特殊的光照环境中来制作效果,当然以前美术就是这么干的)2.     环境光遮蔽AO/ cavity接绘制在了漫反射和高光贴图上了。(AO/ cavity细节应该属于一个单独的输入,让渲染器能够更智能地使用它们。另外大范围的AO更不应该直接加入到高光贴图中,因为会和高光贴图要反映的信息产生冲突。)3.     一个渐变映射贴图的信息被放置到了漫反射贴图和高光贴图中。(渐变映射贴图可以作为一个手动创建遮罩来实现局部效果的实用工具(比如角色更底部的脏旧信息),但这绝不是将它直接绘制到贴图中的理由。)4.     这里使用的渲染器并不支持光泽贴图,这就意味着高光贴图有着表现反射度和表面细节的双重任务,而仅仅使用单一的变量去控制材质整体的光泽度。5.     这里使用的高光值是靠眼睛测量的而不是一个真实材质的属性。那么结果就是金属部分反光太强烈,并且还毫无理由地偏黄,然而塑料和橡胶部分的材质有没有足够的反光。



四、传统流程到PBR Specular工作流程的贴图转换



天匠映像游戏教育TENJOY GAME EDU


   首先,去掉漫发射贴图和高光贴图的光照信息和渐变映射信息。  AO/ cavity单独作为两张贴图使用到渲染器的属性凹槽中。  然后,将漫反射贴图适当调亮一些(参考物体的固有色)。  由此便能得到albedo map, cavity/ao map和specular map。  将刚才得到的高光贴图分解成一个高光贴图和一个光泽贴图(将原高光贴图中所有的表面信息移植到新建的光泽贴图中,并且更新这些值使他们符合不同材质的微表面结。再次确认这些值是否合理)。 当高光贴图“干净”之后,美术就能将精力集中到反射率的思考和设置上。 现在的关键点是区分物体那些部分是金属材质而哪些部分是非金属(绝缘体)材质,即便并不是在metalness 工作留下。原因非常的简单,非金属的反射一般没有颜色并且反射率一般在4%的线性区间(2~16%,当然除了宝石很少有非金属会大于4%)(或者sRGB 40~75)。与之相比金属的反射率则要高得多,一般介于70~100%或者sRGB 155~255)。所以分清楚所要表达的材质类型非常重要,这关乎找到正确的反射率值。


补充:如果金属物体被画上了或者图上了其他的材质,那么就要作为非金属来考虑,除非是被划伤或裸露的金属材质部分。 五、Metalness Workflow和Specular Workflow的区别



天匠映像游戏教育TENJOY GAME EDU
在继续深入之前我们应该清楚MetalnessWorkflow和SpecularWorkflow的基本区别,虽然大多数引擎都会选择支持一种或两种都同时支持。两种工作流最大的区别在于怎样在贴图中呈现diffuse和refectivity。例如在specular workflow下,这两者由明确区分的两种贴图来呈现。而metalnessworkflow下,albedo map 则同时包含了diffuse和reflectivity的信息,而 metalness map 则用于区分金属和非金属。这是因为金属导电,这就意味着绝大多数光子(光)会在其表面发生反射,而其余的光子则会被吸收而不是发生漫发射,所以金属没有漫发射的概念。相反绝缘体则会反射一小部分光(大约4%),而大部分的光则是发生漫反射或在物体表面弹射从而形成均与分布的颜色。


这就意味着在metalnessworkflow下的实践中,diffuse map和specular map基本就是浪费。反过来说metalness workflow就更加高效,但它(在一张贴图中同时储存diffuse 和 specular 信息)也有一个缺点,那就是在贴图中金属和非金属的过度部分会有明显的白色痕迹。


Gloss map和roughnessmap定义了相同的信息,但通常是相反的意义。在gloss map中,亮色表示光滑(有光泽),而roughness map亮色则表示粗糙(无光泽)。在一些领域,Glossiness这个词和reflectivity同意,有人认为用roughness更不容易造成误解。当然,重要的并不是怎么命名而是他们的数值所代表的含义。Specular Workflow的优点Metalness workflow的优点1.Diffusion 和reflectance有分别的明确的输入,这对于有传统shader贴图绘制工作的美术更可取。1.albedo map 就是物体的固有色,完全不用去区分到底是什么材质,这对于美术来说很好理解。2.提供一个完整的色彩输入,能更好地控制非金属的反射值(实际上不用区分金属非金属,按材质取值)。2.简单底将材质氛围金属和非金属两类,但也可能对于非现实材质(比如卡通)的表现造成困难。
3.占用更少的存储空间。 Specular Workflow的缺点Metalness workflow的缺点1.容易对reflectance赋予错误的值,造成错误的结果。1.金属非金属过度区域有白边。2.占用更多的存储空间。2.对于非金属的反射值缺乏控制和表现。
3.如果不理解工作流,容易为metalness map 错误复制,造成错误结果。 当然也有些metalnessworkflow 提供了 secondaryspecular map来对非金属的反射做更好的控制表现。这两种工作流可根据喜好进行选择,或者说哪种容易上手就用哪种。
六、 Specular和Metalness的转换



天匠映像游戏教育TENJOY GAME EDU
Specular到Metalness的贴图转换使用photoshop作为工具。 首先创建 metalnessmask:使用图层遮罩工具,以白色填涂金属,黑色填涂非金属,一定的灰度表示“半金属”、过度、划痕或者脏痕迹。然后将图层做为metalnessmap保存。

2. 创建albedo map:新建一个文件,用diffuse map作为背景层。然后在其上用specular map创建一个图层。并且以metalnessmap作为specular层的蒙板层,这样就的到了合适的albedo map。


Specular到Metalness的贴图转换使用photoshop作为工具。我们只需要将diffuse和specular信息在albedo map分离出来,作为单独的diffuse map和sepcular map。1.       合成Diffuse Map。a)       新建文件将albedo map 载入Photoshop中。b)       创建一个黑色的填充层。c)       将 metalnessmap复制到填充层的图层蒙板中。2.       合成Specularmapa)       新建文件,将albedo map 载入Photoshop中。b)       创建一个色值为#383838的填充层。c)       将 metalnessmap复制到填充层的图层蒙板中。d)       翻转图层蒙板。


比较和说明



现在,我们可以比较两种不同的转换工作流程的有效性。看来表现无差,说明转换理论和工作正确。但的说明这里有个重要的前提——我们首先设置了标准合理的物理参数。如果是这个作为基础,那么转换后的效果将会有很大的不同。而且转换工作中,sepcular 工作流下的非金属的有色反射将在 metalness 工作流下丢失。  所以理想的情况是为自己选择的工作流制作相应的贴图,而不是仅仅依靠贴图转换来适应多套工作流。
天匠映像游戏教育



天匠映像游戏教育TENJOY GAME EDU
天匠映像是培养高级游戏美术师的基地,也是游戏制作者的乐园。在这里可以学习到最新、最炫、最有竞争力的技术,还可以看到中外各大高手的作品以及最有含金量的CG教程!



课程咨询电话固话:022-26495955 刘老师
课程咨询电话手机:15022168785 王老师13116099020 刘老师
报名&上课地址:天津市河北区志成道130号河北区科技招商展示服务中心4楼(距天津美术学院北校区步行仅5分钟)
西青大学城校区:高新区海泰绿色产业基地F座5门4楼(大学城地铁站向前一站)


天匠映像官方公众账号


天匠映像官方技术交流QQ群群号:566023916


d0264fdfe4d60af6368c48a7a22c3c88.jpg
d0264fdfe4d60af6368c48a7a22c3c88.jpg
d0264fdfe4d60af6368c48a7a22c3c88.jpg
d0264fdfe4d60af6368c48a7a22c3c88.jpg
d0264fdfe4d60af6368c48a7a22c3c88.jpg
d0264fdfe4d60af6368c48a7a22c3c88.jpg

本帖被以下画板推荐:

还没有设置签名!您可以在此展示你的链接,或者个人主页!
使用道具 <
mome  发表于 2024-2-19 11:15:31  
2#
已阅,优秀
回复 收起回复
使用道具
mome  发表于 2024-2-20 23:01:25  
3#
好酷! 很细节
回复 收起回复
使用道具
狂奔de蜗牛  发表于 2024-5-18 09:48:27  
4#
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表