在说PBR之前,笔者先从个人角度谈一下对于三维制作的一些理解,这将有助于对三维开发感到陌生用户更好地理解后续的内容。三维在制作到呈现的过程中,通常需要经过以下几个环节:
1.原稿设计
从字面上就很好理解这一步需要做什么,三维设计师在一个项目开始前,通常都会进行原稿设计,原稿当中呈现的元素,通常是设计师需要在三维制作软件中呈现的效果,它是一切设计创作的蓝本,设计师会在原稿的勾画过程中对于空间关系、光线阴影等因素做细致的考量。
“阳光教室”三维空间设计原稿
2.模型架构
到了这一步,模型架构师会手持原稿上线,利用3DsMAX、Maya、Cinema4D、Zbrush或Quixel SUITE等工具,通过点、线、面和一些基本图形来构架更为复杂的三维模型,经过多年的软件发展,这些应用当中产生的“白模”(也称为素模,指的是未经添加材质、色彩、骨骼、动作等信息的基础三维模型)通常可以互通使用。在这些软件当中,你通常可以看到一些灰白色的模型呈现出来,类似于现实生活中的石膏像,它们表面能够有一些高光和阴影,有些还可能覆盖线框,这些可以帮助架构师判断立体信息是否正确,但并不代表最终效果。
“阳光教室”三维空间设白模示例
3.材质贴图
笔者认为材质贴图是拉开设计师水平的关键一步,如果白模只像是石膏像的话,这一步才会让你真的一眼识别出设计师究竟在做什么东西,设计师们往往通过调整材质编辑器的参数来编辑材质信息,如玻璃、金属、木材等等,并把编辑好的材质赋予模型,这些材质参数会规定好某一个物体在光线下产生的反应,以便人眼可以快速的识别出它是什么。好的设计师会借助对现实物理世界的理解来定义参数,让这个物体在虚拟世界当中更像它处在现实当中的样子,也就是我们口中说的“更真实”,有些模型因为用途的不同,还需要进行UVmap的拓扑,相当于把模型的表面剖开并全部压平在一个平面图上,以便设计师根据需要进行贴图编辑。当然,有些设计师在做材质贴图的时候,需要同时进行下一步操作——架设灯光。
完成材质贴图的三维场景 场景内灯光照明的三维场景
4.灯光阴影
模型架构完毕并被赋予了材质贴图后,灯光师就可以接手了,他们会根据场景的用途和需要来设定灯光的位置、角度、范围、强弱、衰减、色彩等诸多信息,这些因素可以说决定了模型最终呈出的样子。和影视拍摄一样,好的灯光师不一定会摄像,但好的摄像师一定会架设灯光,在三维的架设当中,这个原理同样存在,毕竟没有光源,就没有颜色,也就没有人眼所能看到的一切。
5.用途定制
我们知道三维模型或者场景有很多的应用情景,比如物理模拟、建筑表现、机械设计、游戏开发、影视制作等等,在这一步设计师会根据三维图形不同的用途来进行后续的操作,有的需要对虚拟人物进行骨骼绑定,有些需要架设虚拟摄像机,在这里我们不做展开。
6.渲染呈现
到了渲染环节,往往是三维图形制作环节的最后一步,它需要由计算机来进行操作,其实就是由计算机来做工作总结——计算机在白模的基础上,加上设计师定义好的材质和贴图,配合光照信息模拟模型表面的粗糙度,计算好不同物体和光线来源之间的反射、折射关系,综合虚拟摄像机、模型绑定、动画动作等设定,进行最后图像的合成运算。当然,这一步需要计算机拥有非常好的性能,因为渲染过程当中每秒运算的数据量是非常庞大的数字。依照经验和个人理解笔者将渲染环节分成两个大类——预渲染和实时渲染。笔者认为不需要用户端来进行渲染操作的,都可以称为预渲染,比如建筑表现,三维软件输出的是建筑竣工后的图片或者视频,作为受众只需要有一个屏幕能够看到就可以了,用户端并不需要进行渲染运算;而实时渲染是说用户端的渲染,代表案例就是当前的一些主流3D游戏,它们需要用户有足够高的配置来解算游戏的文件包,将游戏画面最终呈现在玩家眼前,玩家操作虚拟人物游走于不同的场景,这个过程实际就是一个实时渲染的过程。
“阳光教室”场景最终渲染效果
说到实时渲染,终于可以请出我们的主角了——PBR。PBR的全称是Physicallly-Based Rendering。简单的就字面含义可以看出,这是一种基于物理规律模拟的一种实时渲染技术,也最早用于电影的照片级渲染。近几年由于硬件性能的不断提高,已经大量运用于PC游戏与主机游戏的实时渲染。几款著名的3D引擎均有了各自的实现(UnrealEngine 4, CryEngine 3, Unity 3D5)。[3]在PBR出现之前,限于软硬件的发展程度和所处水平,所有的3D渲染引擎,更多的着重在于实现3D效果。当时这种3D效果模拟出来的虚拟模型有了空间感和立体感,但是往往给人不真实的感觉,就是会觉得特别的假。为了增强模型的真实感,PBR就是一套用来让模拟出来的模型更真实的渲染技术。这种渲染技术,是基于真实的物理世界的,考虑了真实物理世界的成像规律在内。对于进阶用户和爱好者而言,去深入地理解PBR不仅需要掌握成像原理和光学理论,还要经过其他一系列系统地研究和学习,而作为普通用户,我们在此不再赘述专业的知识理论,只来探讨一下应用了PBR技术的TVS-2000和其它三维虚拟演播室系统有什么区别。笔者汇总了以下几个方面:
1.更加逼真的空间环境
根据笔者的调查,目前在国内全部的入门专业级(单机售价30万元以下) 虚拟演播系统当中,仅有洋铭的TVS-2000应用了PBR技术,这也令相当一部分三维开发者和专业爱好者为之振奋。PBR技术可以使TVS-2000在实时渲染的基础上,实现“以假乱真”的虚拟空间效果,无论是材质反馈、灯光效果还是细节处理,较其他引擎渲染的三维空间都有质的飞跃。举例来说,笔者也曾测试过其它两款三维虚拟演播室产品,这些产品都是利用烘焙贴图模型实现三维空间呈现的,这种方式虽然可以很快速地实现实时渲染,但却有一个根本性的问题,就是场景物体表面的高光、阴影、反射都是“定格”在物体表面的,当你试着移动场景内的虚拟摄像机时,你会惊讶的发现,物体表面的高光并不会因为虚拟摄像机所处位置的变化而改变,你视网膜接受的信号会迅速告诉你的大脑——“你看到的是假的。”当你把场景当中的某一个物体移动到场景外的时候,它在黑漆漆的环境中,依然维持着它原本的样子,这就反应出一个问题——没有实时的环境和光线反馈,这是大脑判定真假的重要证据。而这种问题在TVS-2000中是不存在的,当你将它内置的三维场景当中的某一个物体移出光照区,它会因为失去光照而变得不容易被发现,有了真实的环境和光线反馈,大脑就会取消警惕状态,甚至被迷惑,这就是实时物理渲染的魅力所在。
反恐精英v1.3画面截图 使命召唤11画面截图
举个例子,喜爱电脑三维枪战游戏的朋友都玩过《反恐精英》(Counter-Strike,以下简称CS),早期版本的CS地图就是典型的烘焙贴图场景,玩家在场景中,是看不到一棵树随风飘动,且阴影随之投射在地面上的,更不要提同一场景下的白天黑夜变化了,因为光照和阴影信息已经通过预渲染压在了模型表面,它并不能随着模型的移动或光照的改变而变化,由此换来最大程度的兼容性和流畅性。当然,在计算机性能匮乏的年代,为了能够保证三维游戏的流畅度,这几乎也是唯一选择。随着信息技术的发展,曾经理想的事情已经变成现实,我们可以看到目前的枪战游戏《使命召唤》(Call of Duty)已经可以通过实时渲染技术实现照片般的画面效果了,在部分场景下,玩家甚至无法分辨眼前的画面是真实图像还是三维场景。这种飞跃在三维图形领域是一种飞跃,也代表了未来诸多科技企业的深耕方向,这就是为什么笔者在文章开头的时候会说TVS-2000代表了三维虚拟演播系统未来的一种发展趋势。
2.更加便捷的场景定制
相比以往内置在TVS-1000/1200当中的“3D小画家”功能,内置在TVS-2000当中的场景编辑器才真正当的起“3D”这个头衔,因为这个场景编辑器是真正地在编辑三维的场景,而不像以往的3D小画家是在通过拼叠图片来营造“3D”的感觉。TVS-2000的场景编辑器相当于一个简化版的3DsMAX三维开发工具,在其中你可以随意移动、缩放、旋转模型,甚至添加或删除它们,同时你还可以改变模型的材质信息以及场景的光照条件,借助实时渲染的强大功能,你可以通过移动灯光来改变场景模型呈现出的立体效果,甚至改变场景白天或黑夜的设定,在这里不需要经过漫长的学习,就可以体验一把当三维设计师快感。当然这一切的重点意义在于你可以自由控制和定制你所需要的场景,根据你录制的需要来布局你的拍摄空间,且这并不需要以牺牲画面真实感为代价,更不需要付出大量的时间来学习三维软件的操作。
3.更加强大的硬件性能
笔者在以往从事三维场景设计工作时,通常会率先搭建“渲染农场”,因为复杂一些的场景,内置模型数往往会过百,而构成这些模型的面通常数量会突破千万面,电脑要计算每个面的材质、光照信息等一系列数据绝非易事,一张精细的图片渲染起来,普通工作站平均都需要数小时来完成,为了保障工作效率,笔者会将多台48核心(CPU)工作站通过网络组建成“渲染农场”,一张图片的模型信息会通过网络分流到各个工作站来分区渲染,渲染时间可以锐减到每张10分钟。效率虽然提高了,但为之付出的成本却不可不谓高昂,毕竟一台服务器的售价就已高于25万元人民币。基于PBR的实时渲染引擎可谓是像笔者一样的开发者们的福音,因为它帮助开发者们省去了渲染所需的时间及成本投入。换另一个角度思考,基于PBR的实时渲染让TVS-2000可以每秒最大输出60张渲染好的场景图(60帧),这也直接反映出了TVS-2000强大的硬件性能,对于用户和开发者而言是可靠后台保障。