【前言】
关于PBR技术,我在《Substance Designer 学习笔记之五:PBR贴图解密》已经解读很清楚了。关于PBR应用,我在网上看了很多文章、很多视频,我个人认为他们的讲解不太正确,而且对这个技术的应用理解也不够全面。
很多网友,都希望我编写CORONA、OC、REDSHIFT等渲染器,它们是如何使用PRB两个流程贴图进行渲染的文章。我为什么一直没有写呢?因为三维动画软件的渲染器以及插件,说实话,并不是都支持PBR。我总是在想,为什么非要使用PBR两个流程呢?对于不支持PBR的渲染器,使用基于PBR两个流程的贴图意义何在呢?为了快速渲染?不可能!传统渲染器材质载入PBR贴图,也需要一点点渲染。设置简单吗?一点也不简单!它需要不断调整。渲染真实吗?可能就是为了这个原因吧。仅仅是为了渲染真实,为了得到“完美”贴图,就用SP、SD中制作基于PBR贴图,是不是成本有点太高了?
思考许久,我用了2个星期,精心地写一篇关于PBR应用的体会文章。
在这篇文章里,就把各位关心的问题,用图文形式揉碎了,详细掰扯,并一一回答。
本篇涉及众多渲染器和软件,应该是网上少见的、枯燥的、能引起你思考的理论性文章,关键是能让你明晰整体的构架和思路。如果理解了,那么,我感觉以后自学渲染器,凡是涉及贴图问题,都可以自行解决了。
本文将通过十个题目,来解答关于PBR渲染的一系列疑惑问题。
【研究】
问一:支持PBR游戏引擎与传统不支持PBR渲染器的区别和各自优点?
当你读了《Substance Designer 学习笔记之五:PBR贴图解密》这篇,明白了PBR原理,应该知道,这个PBR解决方案,实际上,不太适合在传统三维软件的渲染器上应用。 多说几句,传统渲染器也不是不能用PBR贴图,但需要动脑筋设置和优化,而且渲染速度也没有快多少,可能更慢!关于如何设置见后面问题。
问二:PBR贴图(包括两个流程)到底是什么?效果是否一样?
回答:
制作基于PBR两个流程贴图,一是Metal/Roughness 金属-粗糙度流程;二是Specular/Glossiness 高光-光泽度流程。这是PBR两套记录材质数据的方式而已,官方说使用哪一个效果都是一样的。
但我认为:建议支持PBR渲染器使用金属粗糙度流程贴图,而不支持PBR技术的渲染器使用高光-光泽度流程贴图。为什么?你往后看,我会在后面的问题中解答和演示。
共同点是:
都使用相同的AO、Normal、Height纹理贴。
1、用AO贴图去表现模型自身和模型与其他相交地方的阴影,突出立体感。支持PBR游戏引擎都是用AO贴图,但三维软件渲染器很少使用它,因为渲染器自带AO功能,看你是否启用了。
2、NORMAL贴图使模型光影表现凹凸的细节。使用法线贴图要注意,因为它有两种格式,一种是针对DX格式。一种是针对openGL格式。两种贴图互为Y轴相反。3DSMAX支持DX,因为它的世界坐标是Z轴向上,MAYA和C4D支持后者,因为它们Y轴向上。还要注意:所谓C4D支持OPENGL格式,也是指C4D自带渲染器而言,其它的渲染器插件不一定啊。总之,使用NORMAL一定要看渲染结果光影是否正确,如果不正确,就翻转Y轴。
3、用HEIGHT贴图去改变模型的外观。
不同点是:
Metal/Roughness工作流程使用:BaseColor、Roughness、Metallic三种纹理。
Specular/Glossiness工作流程使用:(Albedo)Diffuse、Glossiness、Specular三种纹理。
你就记住这两个流程贴图都叫什么即可,后边详细解答。
问题三:怎么理解Base Color Map / Albedo Map / Diffuse Map?
回答:很多网友都问上面的概念是咋回事?有的说是一样的?真是一样的吗?我谈谈我的理解,首先三者贴图上的颜色都不应该含有光影信息。什么叫不含光影信息呢?
1、Diffuse Map是过去渲染器老流程的漫反射颜色贴图,最早的Diffuse是手工绘制的,是包含光影信息,甚至AO信息也绘制上面,因为那个时候没有全局光渲染,都是直接光渲染,也表现不出来,所以只有手工绘制上去。所以,那个时候,渲染逼真,布光绘制贴图还真有点功夫,否则渲染的结果很假。后来,随着全局光计算的快速发展,Diffuse贴图要求就更高了,物理性更强,去掉光影信息,去掉AO信息,贴图如果表示金属也是用黑色。
2、高光-光泽度流程的Albedo Map,内部包含有非金属漫反射(非黑色)和金属(黑色)的数据,而金属的颜色是在Specular贴图相应位置显示的。所以,有的时候,使用传统渲染器,它们的作用是一样的,所以PBR技术文章有时候把它们放在一起说,现在的Diffuse约等于Albedo。
3、金属-粗糙度流程的BaseColor Map,内部包含金属和非金属颜色,同时,还包含各种颜色的灰度值对应各自F0数值。也就是说该帖图包含颜色+F0数据。如果你把该帖图直接丢给传统渲染器材质的COLOR通道,那么,只能使用颜色数据,F0如何读出来?
问题四:为什么金属没有漫反射,非金属有漫反射?为什么白色光源照射下,非金属高光都是白色,而金属的高光都是彩色的?
回答:先问你,什么是漫反射?漫反射是一些光线照射到物体时,进入了物体表面层。在物体表层里,进行无序反弹,同时又发生了吸收,进入模型的光线某些波长光被吸收掉了,没了。而剩余的某些波长的光再从物体浅表面出来,无序地射向四面八方。从整体看,就是光从物体表面射向四面八方,并呈现颜色(这个颜色是射出来的光线波长决定的)。你没有想到吧,这个漫反射表面整体看是“反射”,实际上是浅表面的“折射”。只是与透明物体折射不同,它是穿物体而过,而漫反射是光线向周围无序地折射。
那高光是怎么回事?高光可不是漫反射,它是光源照到模型表面上,沿着你眼睛的方向直接反射回来,光线一是没进入模型内部,二而是没有没有散开,所以能量很集中、很亮啊。这种反射又叫高光反射或镜面反射,这种反射具有方向性,需要特点角度才能看到高光。所以,布光的时候,你需要不断地调整灯光和摄像机,让漂亮的高光进入摄像机内。那种在模型表面杂乱无章的反射叫漫反射,它不具有方向性,所以,你在哪个方向都能看到它。
总结:上面讲的这些很重要,如果你理解了,各种材质涉及的漫反射、反射、吸收和反弹、SSS也就明白了。都是一个道理。渲染器的计算就是在模拟现实的光线传输现象,发光、吸收、反弹。
问五:在金属-粗糙度流程中,金属度贴图起的作用是什么?金属和非金属的颜色和反射率都在哪个贴图中体现呀?
回答:
在金属粗糙度流程中,金属贴图就是遮罩,它告诉模型什么地方是金属,什么地方是非金属。而金属有反射率,不同金属反射率还不同。非金属也有反射率啊,而金属和非金属反射率是不相同的。
总结:
1、反射颜色,在外界光源是白色的情况下,所有非金属的高光都是白色的。而金属却不一样,它的高光与自身材料有关,都是有颜色的。
2 、在PBR中,金属和非金属是用F0(材质中心)和F90(材质边缘)数值来控制反射范围(菲尼尔强弱)的,而不是传统渲染器用IOR折射率来定义的。
3、下面提供两张PBR材质F0数值表。建议绘制PBR贴图,最后使用专用的工具,比如SP、MARI等,而不要用PS和BODYPAINTER。因为前者,软件可以自动把颜色和F0控制在以下数据列表的合理范围之中。后者,人为因素太大,绘制的贴图也没有科学性。
问六:PBR贴图开发工具软件有哪些?
回答:
1、早期法国Allegorithmic公司的系列产品:Substance Painter 、Substance Designer、Substance Bitmap2Material、Substance Player 四个产品。
后来,被ADOBE公司收购了,推出了Substance Painter 、Substance Designer 、Substance Alchemist、Substance Source四个产品。
2、MARI
3、Quixel Suites、NDO、3DO、MegaScan
这套工具是基于PS平台上,具有强大3D绘制能力,支持PBR渲染技术。绘制纹理贴图尺寸可达到8K,拥有1000多种基于真实扫描的材质。注意,它是基于真实的扫描纹理图案绘制贴图的,而上面的Substance系列3D纹理绘制都是基于自家的SBSAR程序贴图,所以,它的文件很小,只有几K。
它的死敌SUBSTANCE工具软件被ADOBE收购了,Quixel尴尬无比,因为自己的软件是在ADOBE PHOTOSHOP平台上。后来,Epic Games(UE4游戏引擎的母公司)收购了Quixel,丰富了真实世界3D扫描纹理数据,组成了Megascans库,又开发材质编辑Mixer和资产浏览Bridge软件,而 Megascans资产目前对虚幻引擎用户(UE4用户)免费开放。
4、Toolbag 4
你没有想到吧,Toolbag 过去是一款用于检测模型和贴图正确与否的渲染软件。升级4以后,也能烘焙和制作纹理贴图了。
总结:
1、 基于PBR贴图绘制的软件还有很多,如乌克兰的3D-Coat4等,还有一些如XNOMALS等小工具软件。但现在最流行的,也最应该学的,我建议:如果你是美工,手绘功能很强,就学Substance Painter ;如果你逻辑性很强,善于节点编辑,那么学Substance Designer也不错 ,二者熟悉其一即可。然后再学习一下Substance Alchemist,它能把现有的贴图资源再合成新的资源。因为Substance在ADOBE支持下,更新速度也太快了,这是要统一贴图纹理制作的天下呀!要成为行业的标准啊!
2、 如果你不想绘制贴图,想拿来主义,那么就学习Quixel公司的Megascans、Mixer和Bridge,贴图和模型都拿去,下载使用就是了。
3、不要再学习旧的贴图绘制软件了,那些都是传统老旧的工作流程。尤其是绘制基于PBR贴图,尽可能不要用PS和C4D的BODYPAINER绘制贴图了,人为因素太大,满足不了对PBR基础数据的要求。建议也不要再用XNOMALS烘焙贴图了,因为SP和TOOLBAG4烘焙贴图效率要比它好很多。