基于物理渲染(PBR)的车漆技术
图形图像技术CGGraph渲染图形学 10520 320
实名

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

发布于 2018-4-6 22:28:16

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

x
按照传统 Diffuse+Spec 的 Shading 着色模式,稍微加点 Mix 属性,你用任何3D 软件,都大概能得出这么个效果:

1.jpg

仔细对比下是不是可以发现以下几个区别:

    别人的车在边缘处有光线的环境光细节,例如车顶和地盘区域。
    别人的车在高光位置存在两种边缘效果,远景面光源处是柔光渐变,近景反射处是硬线条的高光感。
    别人的车在材质通透感上更富有层次,红色和淡淡的橙色在不同区域的渐变效果不一样。

好吧,原来别人的车是有这么多细节的!看来我们有必要研究下真实世界的车漆是如何构成的。
真实世界车漆

下面这张图是一个工艺范例:

3.png

在车身钢板之上,有电泳层、中涂层、色漆层和清漆层四个漆层组成,这四个漆层共同构成了我们目视所得的车漆层,如果你车要是被刮花了得补,修补的车漆仅相当于部分中涂层+色漆层+清漆层。每一个漆层的作用大致如下:

    电泳层:直接附着在白车身上,对车身有防腐保护,并为中涂层提供良好的附着环境。
    中涂层:附着在电泳层上,防紫外线,保护电泳层,并加强车身的防腐保护,为色漆层提供良好的附着环境,部分厂商的中涂层也能对色漆的色相起一定的衬托作用。
    色漆层:附着在中涂层,进一步加强车身的防腐保护,并展示色相,我们看到的各种颜色就是色漆层展示出来的。
    清漆层:附着在色漆层,更一步加强车身的防腐保护,并保护色漆层不受微小的刮擦,使颜色更透亮,减缓褪色现象。

所以在车漆制作过程中,喷完漆都要用烤的,让车漆快速烘干的同时,还能增加下一层漆的附着力。如果采用的是油性漆或水性漆,烘焙工艺和顺序也会不一样。那么,如果你的车要是被刮到了这个份上:



划痕深到了底漆,补漆的时候就一定会出现色差或者厚度不均的情况,甚至颗粒度都有不匀产生橘皮效果的。这事你还真不能怪修车师傅打磨不用心,或者嫌赚的钱不够手上劲就松了点之类,而是这种涂层由于没有重新走从电泳就进烤房的流程,瑕疵难免的。

恩,歪楼了,我其实想说的是,开车一定要注意,平时也要多多保养不要任凭鸟屎粘在上面还放太阳下面烤,原厂漆弄坏了真可惜,恩佐的补漆费用这么一合计(算账一定要算上国内支持该车的设备成本和对应工时费),是不是你也觉得这富二代可真没讹诈六爷了吧!

好吧,我真实想说的是,车漆的视觉表现是由其物理特性来决定的,他不是我们普通看到的石头或者陶瓷,表面的反射和折射等光学效果如此单纯,他在不同环境和光线下表现的层次和色彩都会不一样。也正因为如此,我们的眼睛平时看惯了大街上的汽车,即使我们不知道为什么效果是这样,但也能第一时间感觉出我们用传统手段制作出的车漆不够真实。

那么车漆大致分为几种效果呢,简单分类如下:

    普通漆(素色漆):合成材质包括树脂、颜料和添加剂。最常见的颜色有白色、大红色和黄色。一般便宜的五菱宏光这些都是采用这类漆,色彩很纯,没有其他的层次感。车漆和PBR(基于物理渲染)技术
    金属漆:在素色漆中加有细微金属粒子的一种涂料,还能增加车漆硬度,是目前流行的一种车漆。最常见的是加有微细的铝粉,光线射到铝粒上后,又被铝粒透过漆膜反射出来,亮晶晶的。车漆和PBR(基于物理渲染)技术
    珠光漆:加入了云母粒,于是他的反光的方向性导致了色彩斑斓的视觉效果。它的抗氧化能力强,一般多出现在高端车型上。但是珠光漆修补比较麻烦,费用也相对较高一些。车漆和PBR(基于物理渲染)技术

现在市面上还有一些后端技术来调整漆面效果,例如封釉镀膜镀晶,但都是起保护作用为主,对视觉影响较小。改装车的话一般会用到哑光漆,或者其他无限骚包效果的花样贴膜,另外还有特种车辆例如军车(量产方式)是必须亚光不能有反光,这里都不单独讨论了。

了解如此,我们大致可以对车漆效果有了一定概念定位,要做什么材质的效果就可以按照其生产原理设计材质了。
CG 车漆

但是,我们在一些广告片或海报中,又会发现另外一个问题,那就是同一辆车在工作室灯光模式下和户外模式下的效果又不一样,例如下图对比:

车漆和PBR(基于物理渲染)技术这是一个标准的户外光影车漆效果,其光源采用的是环境光,对应3D 制作就是 HDR 照明模式。其表面车漆效果和前面的麦克昆基本一致,具备了和环境光线产生交互影响的细节,边缘明亮,特别是高光线条,动感十足。

这是一个标准的室内拍摄片,其光影采用的是面光源等轮廓照明方式,沿着车身的位置做区域性打光,光线边缘柔软,车漆本色和高光过渡平缓,而有大幅度转折的位置才会出现明显的高光线条,目的是突出车身的造型细节。例如门上的一个凹槽轮廓,在这种角度光下可以看到明显的轮廓线,这在上面的那个效果图中是看不出来的。

那么打开 Blender 吧,我们按照刚才的思路,以分层的方式添加车漆效果,大致节奏如下图:



设置一个基础场景,利用反光板作为打光设置,我喜欢红色,改下,效果如下:



可以看到,按照真实车漆的制作,其实在反光板下会呈现出边缘明晰的高光效果,这其实是环境光效果下期望的效果,当然如果里觉得这个效果复核你的需求,也是可以的。可是这就和上面白色奔驰车的室内效果图略有区别,因此要想获得不一样的效果,不得不去修改材质。当然,不浪费这个材质,我将环境光设置为 HRR 照明模式,如下图所示。



可以看到,光线的包围感更强,线条和光线层次很清晰,完全符合对一张效果图的制作需求。

对比发现,如果要制作的场景不同,那么在光线设计上会有不一样的思路和方法。而我们的材质展示是否会因此受到影响呢?毕竟光线和材质在不同场景中已经出现多对多的情况。根据上面测试,我不得不制作两套材质,放在不同环境光照和片面光照下,分别获得了希望得到的效果,效果如下:




从上图可以看到,如果不分别调整材质,还真难获得对应的效果,而这两个材质的区别,也在于对菲涅尔和反光等属性的调整。那么问题也来了,是否可以有一种方法,让材质设计变得更简单,我只考虑其物理属性,不需要根据不同灯光设计甚至环境去做独立的设置呢?这样是否可以大大减少去应对不同场景下材质重复设计的压力,特别是游戏和动画等需要各种转场的案例。最近这段时间里,我一边尝试一边试图找寻答案,最后我发现了 PBR (Physically Based Rendering /基于物理的渲染)技术!
什么是 PBR?

其实不是一项特别新的技术,我搜索了下历史,大概2010年就在 Siggraph 会议上被提出了技术原型。最近随着游戏越来越多地使用3A 技术以及次时代制作手段去呈现 CG 级游戏画面,手游引擎 Unity5也完全支持 PBR,影视动画公司在为优化视觉效果的同时,尝试借助该技术去降低劳动压力,所以当皮克斯宣布为了 PBR 体系去修改了 Renderman 的架构时,PBR 在主流圈中逐渐火了起来。

PBR 不是仅针对材质,他其实是一个系统性渲染流程,包含了光线、材质、纹理、色彩管理等。在这个体系当中,无论是经由物理化材质实现的光照、阴影或者色彩变化,还是物体表面的材质特征都将会有非常大的提升。

PBR 看似如此复杂的技术,但背后的原则却很简单,就两条:

    光线能量守恒定律。
    菲涅尔效果无处不在。

光线能量守恒

物理上大家都了解能量守恒定律,这里我们用同样概念来理解光线。Specular 高光反射光与 Diffuse 漫反射光其实是相互排斥的,有你没我的感觉,因为离开表面的光总量不能比其接受的入射光强,两者的综合值加起来不能超过1,这意味着,如果你的希望材质有较高的高光反射效果(高反射率),就需要要去降低漫反射,能量守恒是 PBR 的一个重要的指导思想,可以让系统计算光线效果时,不会违法物理定律。



上面这个图表现的,就是对于同一个材质,在100%的漫反射到100%的镜面反射转化过程中,光线总量是不会变化的。而我们的视觉路径大致是这样的:



其实任何物体都会对光线有吸收,称之为平面散射,光线在接触物体后会分为两部分继续前进:进入物体表面的部分(折射,在物体内部传播中被吸收或散射),从表面出去进入人眼(反射)。



但因为物体的表面材质不同,表面光线的方向变化也会有区别。平滑的表面偏移比较轻微,从而反射光的方向变化也较小,有了较清晰的反射,如上面图效果。而下面的表面粗糙,表面方向的变化范围也较广泛,反射光的方向变化也比较大,出现了模糊的反射。通常我们在材质中会用 Roughness 参数来控制,有时俗称这是在添加磨砂效果。

这里还有一点误区,就是我们常理解只有水这样的液体或果冻类软体,会存在光线穿透再折射或反射(通常使用 SSS 效果来表现这种质感),在现实世界中,我们如果只是看 Specular 高光效果,那这个理解是没问题的,但 Diffuse 漫反射呢?



对于任何一个物体,当产生漫反射的光线到达物体表面时,一部分会经过折射,被材质吸收(或者说转变为热能,这就是太阳下的石头越烤越烫的原因),或者在内部进行散射。一部分散射光最终会重新返回表面,再从表面折射出来,并被摄像机或眼睛所捕捉到。那么形成漫反射效果的光在被物质吸收并散射后,会成为不同波长的光(也称跨越光谱),这也就给予了物体不同的颜色,比如金属会吸收所有的穿透光,也就没有任何漫反射部分,但金属氧化的部分会和一些表面残留物,构成少量的散射光,形成不同的颜色,而正因为散射的混乱比较均匀,从每个方向看起来都是一样,所以这点和镜面光效不一样。看个图就能明白了。



所以你看,其实金属的漫反射属性是为0的。这样思考之后,就会发现一个问题,这和我们平时制作材质的思路好像有点不一样了呢?对,不过要将这种反射思路混合起来,还需要了解最重要的一个参数,就是刚才提到的,无处不在的菲涅尔效果。

Fresnel 菲涅尔属性

菲涅尔指的是:光在光疏介质传递到光密介质的时候,在一定的角度下会发生全发射。公式为sinc=n1/n2。其中两个n分别为两种介质的折射率。角度C为全反射的临界角度。听不懂是吧,哈哈太科学了,换个简单的方式解释吧,看个图。



有没有发现,其实湖水是相当清澈的,我们看近景位置,水的穿透效果真好,水底一览无余,但是越往对岸看去,越发现水的反射效果越强,在最远处,也就是平面和视觉夹角最小的位置,可以看到湖面几乎成了一面镜子(100%的反射)。那么我们就可以用菲涅尔来定义这种效果,其指代的是材质的反射率和入射角(也就是光源入射向量和平面法线向量的夹角)的对应关系,也就是说,入射光的角度越大,反射率也会越强。

PBR 理论中,就是重点借助菲涅尔来修正材质的光线关系,这里略枯燥,但很重要哦,看下图!



这是一个黑色的塑料材质,我们就称之为通用的非金属效果,其中,越接近边缘橙色区域,也就是视觉角度达到了90度,材质反射率可以无限趋近100%,而平视角度的反射率接近物体本身的值。对应现实中,水和液体的物理反射率是2%,砖块8%,其他有机材质和塑料是5%,半导体和晶体是15%~50% ,那么金属呢?看下图。



我们可以看到,金属本身的反射率就是60%~90%,而当视觉角度逐渐加大时,金属和非金属都会无限接近100%反射,他们之间的唯一区别也就是效果的跨度感了。所以,制作材质的时候,是不是我们只需要设置物体的起始反射率就行了,剩下的逼近效果就留给系统自己完成,如何?

那么 PBR 中通常就会使用到前面讲到的 Roughness 光泽度属性,为物体提供一个基础反射率,设置其表面的最小反射值,然后剩下就交给系统,让其自动解算菲涅尔曲线,以满足不同角度的效果需求。

评分

参与人数 2元素币 +93 活跃度 +53 贡献值 +1 展开 理由
幺九 + 33 + 33 太给力了
元素界王神... + 60 + 20 + 1 【点赞】这很有大网气质!

查看全部评分

还没有设置签名!您可以在此展示你的链接,或者个人主页!
使用道具 <
流云飞魄  发表于 2018-4-7 07:53:42  
2#
感谢大神赐教!!!!!!
回复 收起回复
使用道具
blackwhy  发表于 2018-4-8 10:50:52  
4#
这就厉害了
回复 收起回复
使用道具
Taffy  发表于 2018-4-12 20:23:20  
5#
很好的资源
回复 收起回复
使用道具
...!!  发表于 2018-4-13 09:54:47  
6#
不错 受教了
回复 收起回复
使用道具
Taffy  发表于 2018-4-14 12:32:56  
7#
很好的资源
回复 收起回复
使用道具
MAX小伙  发表于 2018-5-3 08:57:17  
8#
还不错
回复 收起回复
使用道具
snowwolf618  发表于 2018-5-7 19:51:47  
9#
回复 收起回复
使用道具
零一  发表于 2018-5-18 17:00:11  
10#
很厉害,但不会弄
回复 收起回复
使用道具
模模糊糊day  发表于 2018-5-25 08:44:53  
11#
楼主厉害,威武。感谢分享
回复 收起回复
使用道具
qq_Judy_et7  发表于 2018-6-1 11:18:55  
12#
这个资源真棒,谢谢分享
回复 收起回复
使用道具
qq_Judy_et7  发表于 2018-7-13 11:47:11  
13#
謝謝分享
回复 收起回复
使用道具
xbubu  发表于 2018-7-20 15:18:12  
14#

从业不识微元素,做遍项目也枉然
回复 收起回复
使用道具
Paint_小熊  发表于 2018-10-15 08:24:09  
15#
强无敌
回复 收起回复
使用道具
一指望月  发表于 2018-10-15 08:42:53  
16#
感谢赐教
回复 收起回复
使用道具
ahjxsb  发表于 2018-10-15 08:44:17  
17#
牛逼
回复 收起回复
使用道具
RXBH  发表于 2018-10-15 08:44:25  
18#

       

从业不识微元素,做遍项目也枉然
回复 收起回复
使用道具
悦动的喵  发表于 2018-10-15 09:42:44  
19#
感谢分享
回复 收起回复
使用道具
xsecretx  发表于 2018-10-15 09:52:09  
20#
66666666666666666666
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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