关于PBR贴图那些事儿

首先声明,本文系转载,平时梳理知识点看到的这篇,觉着写的很清晰,故拿来共勉~有些配图是lz另外找的,方便在阅读时学习更多。

image

PBR贴图

一、对PBR的误解

在开始之前,要对究竟什么是PBR以及PBR需要什么样的贴图做一些澄清。

首先,金属贴图metalness map并不是PBR的必须,也不是使用了高光贴图specular map就不能算作PBR。

PBR基本概念是一系列复杂的处理真实物理和光照的渲染器的组合,以及在这些渲染器下工作的一系列使用了标准化的表示真实材质属性的参数的贴图。

PBR本质是一个用于创建贴图和做渲染工作的整体系统,通常在不同的工具和引擎下有不同的实现(一般指渲染器模型和贴图的输入类型)。

直接将非PBR的作品在PBR的渲染器下渲染是不会有正确真实的效果的。所以,渲染器只是PBR的一部分,要正确地使用PBR得到真实的效果,还必须要考虑到如何正确地校准、使用PBR下的贴图。

image

二、PBR做了哪些改变

要想透彻理解怎样创建PBR贴图或者怎样将以前模式下的贴图转换到PBR下,就必须要清楚PBR的渲染器做了怎样的改变。

首先,一个重要的改变就是光照的计算方式。PBR使用了动态光源和实时阴影技术,以及提供了精准环境漫反射和镜面折射的基于图像光照(image-based-lighting)的技术。这就使得美术不用再去将光照、反射、阴影等直接绘制到贴图上,不用再去烘焙光照贴图,而将注意力转移到重现真实的材质属性。

线性空间渲染使得美术不用再在高光贴图中使用漫反射的补色来获得真实的白色高光,同时PBR微表面算法中的能量守恒将使美术不用再在高光贴图中使用灰度来区分材质的粗糙(更黑)和光滑(更亮)的区域。这就意味着高光贴图通常只用包含比数值稍微复杂一点的信息(表示绝缘体的灰度等级,表示金属的色彩信息),其他的变化将交由微表面贴图来定义。

image

PBR metalness workflow

三、对传统工作流程的吐槽

传统方式往往将很多东西混杂在一起去实现一个凭空想象的效果,而且每个人每个公司都有自己的方式,就好比绘画一样,没有一个标准的流程和规范。

这里用一个狙击枪的作品来举例(diffuse-specular-normal)。

image

传统贴图

  1. 漫反射贴图太暗,只能在特殊的光照环境中才能的到较好的效果。(千万不要讲作品/贴图放置在特殊的光照环境中来制作效果,当然以前美术就是这么干的)

  2. 环境光遮蔽AO/ cavity接绘制在了漫反射和高光贴图上了。(AO/ cavity细节应该属于一个单独的输入,让渲染器能够更智能地使用它们。另外大范围的AO更不应该直接加入到高光贴图中,因为会和高光贴图要反映的信息产生冲突。)

  3. 一个渐变映射贴图的信息被放置到了漫反射贴图和高光贴图中。(渐变映射贴图可以作为一个手动创建遮罩来实现局部效果的实用工具(比如角色更底部的脏旧信息),但这绝不是将它直接绘制到贴图中的理由。)

  4. 这里使用的渲染器并不支持光泽贴图,这就意味着高光贴图有着表现反射度和表面细节的双重任务,而仅仅使用单一的变量去控制材质整体的光泽度。

  5. 这里使用的高光值是靠眼睛测量的而不是一个真实材质的属性。那么结果就是金属部分反光太强烈,并且还毫无理由地偏黄,然而塑料和橡胶部分的材质有没有足够的反光。

image

传统贴图vs.PBR贴图

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

image

传统流程向PBR Specular工作流转化

1.首先,去掉漫发射贴图和高光贴图的光照信息和渐变映射信息。

2.AO/ cavity单独作为两张贴图使用到渲染器的属性凹槽中。

3.然后,将漫反射贴图适当调亮一些(参考物体的固有色)。

4.由此便能得到Albedo Map, Cavity/AO Map和Specular Map。

5.将刚才得到的高光贴图分解成一个高光贴图和一个光泽贴图(将原高光贴图中所有的表面信息移植到新建的光泽贴图中,并且更新这些值使他们符合不同材质的微表面结。再次确认这些值是否合理)。

6.当高光贴图“干净”之后,美术就能将精力集中到反射率的思考和设置上。

现在的关键点是区分物体那些部分是金属材质而哪些部分是非金属(绝缘体)材质,即便并不是在metalness 工作留下。原因非常的简单,非金属的反射一般没有颜色并且反射率一般在4%的线性区间(2~16%,当然除了宝石很少有非金属会大于4%)(或者sRGB 4075)。与之相比金属的反射率则要高得多,一般介于70100%或者sRGB 155~255)。所以分清楚所要表达的材质类型非常重要,这关乎找到正确的反射率值。

image

高光RGB

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

五、Metalness Workflow和Specular Workflow的区别

在继续深入之前我们应该清楚MetalnessWorkflow和SpecularWorkflow的基本区别,虽然大多数引擎都会选择支持一种或两种都同时支持。

两种工作流最大的区别在于怎样在贴图中呈现Diffuse和Refectivity。例如在Specular Workflow下,这两者由明确区分的两种贴图来呈现。

而Metalness Workflow下,Albedo Map 则同时包含了Diffuse和Reflectivity的信息,而Metalness Map 则用于区分金属和非金属。这是因为金属导电,这就意味着绝大多数光子(光)会在其表面发生反射,而其余的光子则会被吸收而不是发生漫反射,所以金属没有漫反射的概念。相反绝缘体则会反射一小部分光(大约4%),而大部分的光则是发生漫反射或在物体表面弹射从而形成均匀分布的颜色。

image

Metalness Map区分金属和非金属

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

image

Gloss Map(光泽贴图)和Roughness Map定义了相同的信息,但通常是相反的意义。在Gloss Map中,亮色表示光滑(有光泽),而Roughness Map亮色则表示粗糙(无光泽)。在一些领域,Glossiness这个词和reflectivity同意,有人认为用Roughness更不容易造成误解。当然,重要的并不是怎么命名而是他们的数值所代表的含义。

image

高光工作流 vs. 金属工作流 优点对比
image

高光工作流 vs. 金属工作流 缺点对比

当然也有些Metalness Workflow 提供了 Secondary Specular Map来对非金属的反射做更好的控制表现。

这两种工作流可根据喜好进行选择,或者说哪种容易上手就用哪种。

六、 Specular和Metalness的转换

Specular到Metalness的贴图转换

使用photoshop作为工具。

首先创建 metalnessmask:

使用图层遮罩工具,以白色填涂金属黑色填涂非金属,一定的灰度表示“半金属”、过度、划痕或者脏痕迹。

然后将图层做为Metalness Map保存。

image

2. 创建Albedo Map:

新建一个文件,用Diffuse Map作为背景层。

然后在其上用Specular Map创建一个图层。

并且以Metalness Map作为Specular层的蒙板层,这样就的到了合适的Albedo Map。

image

创建Albedo Map

Specular****到****Metalness****的贴图转换

使用Photoshop作为工具。

我们只需要将Diffuse和Specular信息在Albedo Map分离出来,作为单独的Diffuse Map和Sepcular Map。

1. 合成Diffuse Map。

2.新建文件将Albedo Map 载入Photoshop中。

3.创建一个黑色的填充层。

4.将 Metalness Map复制到填充层的图层蒙板中。

5.合成Specular Map

6.新建文件,将Albedo Map 载入Photoshop中。

7.创建一个色值为#383838的填充层。

8.将 Metalness Map复制到填充层的图层蒙板中。

9.翻转图层蒙板。

image

比较和说明

image

现在,我们可以比较两种不同的转换工作流程的有效性。

看来表现无差,说明转换理论和工作正确。

但的说明这里有个重要的前提——我们首先设置了标准合理的物理参数。如果是这个作为基础,那么转换后的效果将会有很大的不同。

而且转换工作中,Sepcular 工作流下的非金属的有色反射将在Metalness 工作流下丢失。

所以理想的情况是为自己选择的工作流制作相应的贴图,而不是仅仅依靠贴图转换来适应多套工作流。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,529评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,015评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,409评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,385评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,387评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,466评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,880评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,528评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,727评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,528评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,602评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,302评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,873评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,890评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,132评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,777评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,310评论 2 342