迪士尼的《无敌破坏王》间接促进了游戏画面的发展
迪士尼在制作2012年上映的《无敌破坏王》的时候,遇到了一个问题。
以当时的技术,这部电影想保持艺术风格的统一很麻烦。主角上一秒还在射击游戏中大战异星虫怪,下一秒就会去阳光明媚的糖果世界里开赛车,不同的场景中光影的变化十分剧烈。如果处理不好,画面效果就会显特别出戏。
三维材质在不同的光照条件下,如果不作调整,会有微妙的出戏感(图为tktk制作的《上古卷轴5》的Facelight Mod)
问题主要出在着色器(shader)上。
着色器可以简单理解为是一个像滤镜一样的程序,控制着三维模型的最终画面表现效果。
《我的世界》所谓的“光影Mod”,其实就是玩家制作的新着色器和后处理ENB,可以看出与原版画面效果上的巨大差距
着色器最初由迪士尼皮克斯发明,在世界上第一个三维渲染引擎Renderman中用来于控制环境光照对模型材质的影响。受当时水平和硬件限制,着色器的功能还很简单。光线强的地方就把图像调亮一点,光线的地方就暗一点。
这导致在三维动画刚出现的时候,三维模型看起来都像是塑料玩具一样。所以皮克斯第一部动画电影《玩具总动员》就非常鸡贼地把主题设定成玩具的故事,尽量避免出现真人镜头。
《玩具总动员》的题材其实是不得已而为之
到了近年,着色器已经是三维动画和游戏制作流程中最基本的组成部分,有几十种理论模型来模拟各种各样的材质和光照表现,动画和游戏中出现的元素也越来越真实丰富。
通过不同着色器实现的水体效果
使用传统的着色器系统,想要统一画面风格是个不小的挑战。不同的着色器在不同的光照环境下,会有很多细微的差别。过去想要协调这种差别,就只能靠艺术家用经验和技术去调整,不但费时费力,还可能遇到各种各样的兼容性问题。
《无敌破坏王》中的场景变化太过剧烈,主角要在各种不同风格和主题的游戏世界中来回穿梭,调整起来的工作量非常繁重复杂,使用传统的着色器系统效率已经远远不够。
无敌破坏王中的场景风格变化非常剧烈,统一风格很困难
迪士尼需要有一种方法让材质在各种光照条件下都能看上去足够真实。
在当时,已经出现了一种新的着色器系统思路。传统的着色器通常从最终的显示效果出发,而这种新思路则直接模拟物体在光照影响下的真实物理表现。这种新的着色器编写方式就被称为“物理渲染”(PBR)。
通过模拟计算物体粗糙程度对反射的影响来表现物体材质(图片来源:《实时渲染》A.K Peters 2008)
顺着这个思路,迪士尼简化整合了一个通用着色器。技术人员只用调整几个参数,就能模拟出几乎所有常见的木头、金属、塑料这样的材质。计算机会靠着色器内建的公式自动计算光照对物体造成的影响,在任何环境下都能模拟出逼真而统一的材质效果。
使用十个参数可以模拟任何材质
这个着色器大大简化了艺术家的工作量,让材质能够在不同的光照环境下也能有稳定而又真实的表现。在《无敌破坏王》成功上映以后,迪士尼将研究成果整合成论文公开发表。
在《魔发奇缘》中迪士尼就已经在乐佩的头发上尝试了物理渲染,但是直到《无敌破坏王》中才真正大范围应用
由于时值新一代主机(PS4/Xbox One)换代在即,机能提升明显。新的渲染方式带来的画面效果提升,正是游戏行业关注的热点。
迪士尼的物理渲染整合理论,在不增加太多性能损耗的基础上可以极大提升画面效果,还能降低开发难度。很快Crytech、顽皮狗和育碧这样的顶尖开发商都吸收了迪士尼的理论。《罗马之子》和《神秘海域4》令人惊艳的CG水准的画面,就都是在迪士尼的理论基础上改进发展而来。
德雷克:媳妇你咋这么好看呢? 伊莲娜:那可就要感谢迪士尼让俺焕发青春了
在今天的游戏大作里,玩家可以操纵着主角在热带草原和凶残的动物激战,再到超级科幻工厂里一通破坏,可能还会到地牢深处勇敢探险,一切都融合得十分完美自然。可能不太会有人想到,这些都要感谢当年迪士尼为了做一部游戏主题的动画而作出的努力。