发布日期:2024-09-29 22:31 点击次数:182
现如今,提到“次世代”游戏画面和美术,不少人会将其和更加细腻的模型面数与贴图精度联系起来,暂时不会期待有什么革命性的图形技术再次出现。毕竟在画面表现的探索上,尤其是“写实”风格这个赛道上,现有的美术制作管线已经在方法上达到了以假乱真的边界。当虚幻 5 亮相时,怎样增强美术的光影细节和软硬件的优化期货黄金杠杆,已经是次世代游戏美术的主攻方向。
而在几年前(2014 年 ~ 2017 年左右),游戏的美术制作曾经出现过一次历史性的突破,那就是 PBR(物理渲染)的出现。例如,《生化危机:启示录 2》(BIOHAZARD:Revelations 2,2015)和《生化危机 7》(Resident Evil 7 Biohazard,2017)的画面质感就有真正跨时代的区别。
不知道大家有没有印象,那几年间,游戏画面陡然间写实了很多,游戏中的材料质感也向着现实材质跨近了一大步。这种变革,就是源自于 PBR 技术的普及。
我记得当时有一些文章提到,《王者荣耀》那阶段在研究新的图形技术,将要让游戏画面焕然一新。文章前摇了很久,才提到他们用了 PBR 技术,并且将这个技术讲得极其神秘和玄妙……
那么,PBR 是什么呢?PBR,全称 Physically Based Rendering(基于物理渲染),可以模拟现实中光线的物理特性以及与各材质的交互作用。早在 2012 年,迪士尼在 SIGGRAPH 2012 上就提出了著名的“迪士尼原则的 BRDF(Disney Principled BRDF)”,开始应用 PBR 技术。
PBR 采用基于物理精确公式的算法来重现真实世界中的材质,从而生成具有一致性的逼真环境。
PBR 采用基于物理精确公式的算法来重现真实世界中的材质,从而生成具有一致性的逼真环境。
在 PBR 出现之前,所有游戏美术对于光线反射的处理,要么只是用纹理来模拟,要么只是根据灯光颜色进行一些基本的回馈。而 PBR 的最大特点,就是可以根据材质,对于环境贴图进行真实的反射——尤其是金属材质,这一点的表现尤为重要。
值得注意的是,PBR 技术刚刚应用在游戏行业时,对于环境的反射主要还是一张全景的环境贴图,也就是说,不管周围有什么即时环境变化,反射的内容仍然是那一张全景图,只不过会根据角度不同而反射出全景图的某一个位置。
当然,当时的“光栅”技术会粗糙地反射一部分相近的图像,而真正可以大量即时地反射周边画面的技术,是之后几年才慢慢成熟的“光线追踪”技术。
那么,这种物理反射的实现原理是什么呢?
光线作为一种电磁波,在照射到物体表面后,会因其材料和表面情况,呈现出不同效果的反射。一般来说,漫反射(Diffuse)会呈现出多方向并且缺乏规律的光线反射,而高光(Specular)则是特殊材料会体现出的有明显规律并且反射角度较少的特性。如果材料是导体,那么它的反射就会有我们平常所说的“金属光泽”;如果材料是非导体,那么就会呈现出“塑料感”或者类似的感觉。
在“模拟真实”这个基石下,一个关键的原则便是“能量守恒”。这意味着表面反射的光线总量不能超过其吸收的的光线总量。
在 PBR 中,有几种类型的贴图可帮助创建逼真且具有视觉冲击力的纹理:
反照率(引用的原文是翻译为这个词,但 Diffuse 在美术制作中更多是称作“漫反射”或者“基础色”):代表材质的基础颜色,影响其整体外观和视觉写实度。
法线:模拟表面细节与不规则性,增强渲染场景细节层次。
粗糙度:粗糙度贴图可控制反射的锐利度,有助于描绘材质表面。
金属度:决定了材质的金属特性,影响其反射率和外观。
高光:根据光线方向和视角描述反射率的变化,有助于渲染场景的写实度。
高度图(Height):用于对网格进行形变,常用于地形或悬崖等表面。
不透明度:确定材质的透明度,影响其视觉外观。
环境光遮蔽(AO):影响材质的阴影效果,增加渲染视觉效果的深度。
折射:影响光线穿过材质的方式,从而增强材质的视觉效果。
自发光(Emissive):控制材质的光线发射,影响其视觉效果。
反照率(引用的原文是翻译为这个词,但 Diffuse 在美术制作中更多是称作“漫反射”或者“基础色”):代表材质的基础颜色,影响其整体外观和视觉写实度。
法线:模拟表面细节与不规则性,增强渲染场景细节层次。
粗糙度:粗糙度贴图可控制反射的锐利度,有助于描绘材质表面。
金属度:决定了材质的金属特性,影响其反射率和外观。
高光:根据光线方向和视角描述反射率的变化,有助于渲染场景的写实度。
高度图(Height):用于对网格进行形变,常用于地形或悬崖等表面。
不透明度:确定材质的透明度,影响其视觉外观。
环境光遮蔽(AO):影响材质的阴影效果,增加渲染视觉效果的深度。
折射:影响光线穿过材质的方式,从而增强材质的视觉效果。
自发光(Emissive):控制材质的光线发射,影响其视觉效果。
需要注意的是,并不是每一个 PBR 材质都会用到这么多种类的贴图。除了流程耗时以外,通道越多,对系统的负担也会越高。尤其是金属度(Metallic)和高光(Specular)这两个贴图很多时候是不会共用的,基本上使用一个就行(同时,本文的重点是 Specular 和 Metallic 在 PBR 贴图中应用的历史,并不会花太多篇幅讨论其他的贴图类型)。
由于上文提到的原因,基于 PBR 的贴图制作,产生了两种制作方法。在当时的美术制作流程中,两种方法在主流商业游戏领域的应用率平分秋色。这就是以 Specular(高光)贴图和 Metallic(金属度)贴图为主要区分的制作思路。
而最终,Specular 贴图惨败于 Metallic,因为它为当时的美术团体带来了挥之不去的梦魇……
高光(Specular)贴图代表的含义,基本上就是这个表面所能反射出的光线能量。当你给一个 3D 物体添加 Specular 时,如果 Specular 的某个位置是黑色,那这里就没有反射;如果某个位置是白色,那么这里就有极其强烈的反射效果;如果一个位置是灰色的 Specular,那么这里就会有一个中等的反射度。
听起来好像不难理解吧?但是,这中间就有一些不好定义的部分。最基础的实现效果上,在其他参数相同时,你会发现,随着 Specular 值的提升,这个物体的表面好像从非金属慢慢变成了金属。这显然是不符合现实的,一个物体是不可能平缓地游走于这两种状态之间的。接下来,在制作方法层面,这种贴图的难点更多。
第一,Specular 的值和现实材质并没有统一的度量值。比如同样是石材,砖头、水泥、大理石、混凝土等等,各自该设置多强的 Specular 呢?当时,很多有经验的美术很快通过自己的勤奋与观察,迅速找到了自用的一套参数,来模拟出不同的材质。但很快行业内就发现,同样的 Specular 值,不同的游戏引擎,不同的项目,出来的效果都不同;甚至不同的美术总监,不同的美术人员,都会有自身感受的差异。这就导致很多美术每次做新物件,都会花很多时间在材质参数的确定上。
而这还只是开始。
第二,想做出写实的效果,有时还要进行一些弯弯绕绕的理解。那时候,我正在参与制作 Arkane 工作室的游戏《掠食》,这个项目就使用了 Specular 流程:金属材质要把基础的漫反射颜色(Diffuse)做成黑色,而金属本身的材质要体现在 Specular 贴图上。比如,你要做一个白色陶瓷品,但是它的一部分是黄铜,那么,在主体部分,基础色就是白色,Specular 是深灰色;而在黄铜部分,基础色是黑色,Specular 则是黄色。
这还只是一个最简单的例子。在实际制作中,还需要考虑材料是否上漆,是否镀层,是否有磨损、划痕、机油、脏迹、指纹,甚至材料本身是否是拉丝或者车漆等等有花纹的表面。每一种情况都要考虑到 Specular 的值,都要看看是否会产生不真实的反光。
还不算完!
第三,Specular 贴图有个特点,就是当加入 Glossiness(光滑度,Glossiness 贴图不在本文的讨论范围,只需要知道这个贴图也是物理渲染必不可少的一环,并且原理和 Specular 类似))贴图时,需要更加小心。记得之前提到过的那个 PBR 概念吗?表面反射的光线总量不能超过其吸收的的光线总量,而使用 Specular 时,同一个位置,与 Glossiness 的亮度值加起来是不能超过 1 的,不然最终效果就会不真实(黑为 0,白为 1,中间的灰度就是从 0 到 1 的渐变值。简单举例就是,Glossiness 如果用了亮灰色,那么 Specular 就只能用暗色或者黑色)。
当时,提到“次世代”和“PBR”,往往各种技术理论和专业术语就纷纷出现。为了清楚地理解这一套制作方式背后的原理,甚至还需要参考物理学,我亲眼看到过很多美术人员被各种专有名词折磨得痛苦不堪。不止于此,想象一下,你本是一个资深美术,以前,你做好模型后,只需要按照现实情况,把写实的颜色绘制在模型上就行了(虽然中间出现了法线贴图 Normal,但没有理解上的难点);而现在,你需要先确认引擎,参考这个引擎的 Specular 使用方式,然后和总监沟通好主要材质的 Specular 参数,制作的时候还要时不时考虑 Glossiness 和正在制作的 Specular 加起来会不会太亮……
不光是制作,连检查流程也是要人老命。以至于当时工作室还准备了 PBR 理论的教学和考试,而新人来到工作室的一个重要考核指标,就是“PBR 理解是否正确”。
在经历过这些磨难后,Metallic 贴图终于出现了。
相对于 Specular,Metallic 贴图有什么特点呢?它最大的特点就是:好使。对于一个不了解技术的纯 3D 美术来说,Metallic 简直就是救世主。根据刚才提到的 Specular 的使用难点,我们对照地看一下 Metallic 的使用方式。
首先,它很好理解。在这个贴图中,白色就是金属,黑色是非金属,就这么一个简单的区别。不同引擎的不同效果?这个层面上不用考虑。大多数时候,只要用黑白来区分金属与非金属就行了(我知道有特殊情况下这个贴图会用到灰色,但是已经简单很多了)。
然后,它不必考虑和其他贴图的相互影响。这个材质看起来是什么颜色,和 Metallic 无关。Metallic 只管定义是不是金属,颜色就用颜色贴图加上就行了。
最后,Glossiness?那更是不关我事,自己负责自己的部分就行了。美术不再需要实时提醒自己光线的吸收量和反射量的平衡,可以根据自己的经验去分别判断材质是否金属,是否光滑。
当美术工作者做了一次 Metallic 流程后,就像是高考过后的学生,根本不想回到之前那个拼命学习的状态,脑海中只有一个虔诚的祈祷:拜托各位都来使用 Metallic 贴图吧!果然,没过几年,主流游戏的美术管线全都用上了 Metallic 流程。在《掠食》这个项目之后不久,我参与的 Capcom 游戏《鬼泣 5》,以及 Sandlot 的《地球防卫军 5》,就开始全面应用 Metallic 流程了。
当然,在 Metallic 美术管线刚刚出现的一两年间,Specular 仍然应用于很多主流项目中。毕竟已经养成的制作惯性不是说改就能立刻改过来的。尤其是移动游戏领域,Metallic 流程真正普及仍然花费了很长时间。
虽然 Metallic 替代 Specular 是大势所趋,但直至今日,或许是因为 Specular 贴图仍然有其自身的一些优点,又或者是其他原因,现在的主流引擎仍然为它留下了使用接口。
但是,工具是需要贴合使用者的。方便、易用才是最好的宣传。美术人员不是技术人员,微波炉再先进,你让我用微波炉做雪糕,也是为难。
以上只是我对那个年代的感慨。可以看到,任何一种革命性的技术和方法出现后,都会经历一段时间的混沌期。虽然当时会感到一定程度的痛苦和迷茫,但是事后回忆,也有一定的乐趣存在。这篇文章不是纯粹的技术分享,而是对彼时业内情况的回忆。作为这一段乱世的参与者,我发现中文网络环境中没有什么资料将这一段历史科普给大家,这让人颇为遗憾……所以,我尽量以人人都能看得懂的语言说明当时发生了什么。
不知道下一次的图形革命又会是什么?我听说虚幻 5 的多边形支持数已经达到了亿级,或许很多贴图和制作流程会被淘汰掉。
不过,现在我已经彻底来到了独立游戏这个赛道,很多新技术来到我身边的那一天,或许还有很久。
参考资料:
http://blog.wolfire.com/2015/10/Physically-based-rendering
https://www.chaos.com/cn/blog/what-is-pbr-physically-based-rendering-a-complete-guide
特斯拉FSD12.5.x更新将统一高速和市区软件栈
https://zhuanlan.zhihu.com/p/53086060
https://www.modding-forum.com/guide/17-diffuse-specular-and-normal-maps/
https://cgobsession.com/complete-guide-to-texture-map-types/
https://www.chaos.com/blog/what-is-pbr-physically-based-rendering-a-complete-guide
http://wedesignvirtual.com/what-does-a-specular-map-do/
*本文为用户投稿期货黄金杠杆,不代表 indienova 观点。
材质https贴图光线美术发布于:北京市声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。