电影虚拟化制作的发展前沿探究

2021-03-04 02:44胡峻晓张文军骆駪駪
现代电影技术 2021年2期
关键词:墙面引擎矩阵

胡峻晓 张文军 骆駪駪

(1.北京电影学院中国电影高新技术研究院,北京 100088)

(2.网易游戏艺术设计中心,广东广州 510665)

(3.北京电影学院影视技术系,北京 100088)

1 引言

电影虚拟化制作到如今一直没有十分明确的定义,维塔数码(Weta Digital)对其的定义为“虚拟化制作是真实物理世界与数字虚拟世界相遇的地方”。伦敦动画公司 (MPC)从技术角度给出的解释为:“虚拟化制作结合虚拟现实、增强现实、计算机图形图像、游戏引擎等技术来使得电影制作人员在拍摄现场能够看到最终电影的合成画面”。从广义上讲,只要涉及到通过计算机辅助达到预可视化的制作手段,都可以算作是电影虚拟化制作的范畴。如同非线性编辑系统对传统胶片电影的后期工艺流程灵活性的提升,电影虚拟化制作采用类似并行处理的方式移除了现场实拍和后期特效之间的壁垒,使得两者可以同时并发进行。

2 虚拟化制作的发展历程

作为近些年来电影工业中新兴的制作技术流程,虚拟化制作发展十分迅速。但“虚拟化”的概念最早由乔治·卢卡斯于上世纪七十年代就提出过,受限于当时的硬件发展水平,只能停留在动态故事板阶段。直到詹姆斯·卡梅隆创造性地研发出一套实时交互的虚拟预演方案,并成功地用其制作了 《阿凡达》之后,虚拟化拍摄的发展才步入正轨。在其后的十几年当中,先后出现了如Lightcraft等集成度更高的制作系统、渲染效率更高的游戏引擎的介入、实拍LED 矩阵的解决方案等,虚拟化制作大体的发展历程如图1所示。

2.1 动态故事板的诞生

电影虚拟化制作中“可视化”这一核心概念最早的应用是在故事板阶段,称为预可视化 (Previz),也叫做动态分镜、3D 故事板。简言之,动态故事板预演就是在正式拍摄之前将拍摄内容简单制作一遍,用动画展示演员走位、取景、摄影机运动等大方向,供导演、摄影指导等人拍摄时参考。早在上世纪七十年代,乔治·卢卡斯就开始大力倡导动态故事板的应用,他选取第二次世界大战相关电影中空战的镜头剪辑在一起作为动态的故事板,向第一部 《星球大战》的视效人员传达自己的想法,这就是动态故事板预演最早的雏形。后来,随着计算机三维软件的发展,在二十世纪九十年代乔治·卢卡斯和他的工业光魔公司为斯皮尔伯格的 《侏罗纪公园》中的特效镜头制作了动态故事板,此后的《黑客帝国》《星球大战》《泰坦尼克号》《变形金刚》等一系列好莱坞特效大片纷纷在实际拍摄前运用到动态故事板预演的方式,也使得动态故事板成为如今商业电影制作流程中必不可少的一环。

图1 虚拟化制作发展历程发展

2.2 实时交互预演的出现

动态故事板虽然使得主创在实际拍摄前能对影片的镜头作出规划,但依然存在其不足之处,比如无法满足导演在拍摄现场同时指导真实角色和CG虚拟角色表演的愿望,视觉特效的制作只能在后期完成后再交回导演等主创人员进行评判,不合格的镜头还需要大量返工,增加了制作成本,降低了制作效率,并且导演在拍摄现场只能对着绿幕凭空想象,无法直接指导视效内容,为了解决这一缺陷,实时交互预演应运而生。

詹姆斯·卡梅隆在科幻巨作 《阿凡达》的制作过程中,创造性地利用动画领域用于演员表演的动作捕捉技术,将红外反射标记点绑定在摄影机上,摄影棚顶部的红外摄像机即可获取到摄影机的空间位置信息,将此空间位置信息进行解算后实时传入MotionBuilder的三维渲染器中并绑定至CG 场景中的虚拟摄影机,这样卡梅隆通过操纵手中的摄影机而控制虚拟CG 场景中的摄影机来拍摄CG 角色,并且能够实时看到画面,从而极大地增强了卡梅隆对于虚拟角色表演的掌控力。对于真人演员和虚拟角色产生交互的镜头,工作站实时对摄影机实拍画面进行抠像并与实时表演捕捉的三维虚拟场景合成后将信号传送到监视器上,主创人员在拍摄现场就能看到较低质量的合成画面,这对于导演及演员都有重要的参考价值。随后的 《丁丁历险记》等一系列影片都借鉴了 《阿凡达》的实时交互预演的拍摄流程。

2.3 集成度更高的解决方案

卡梅隆开拓性的虚拟拍摄方案为一些商业公司提供了很有价值的参考。随后,市场上出现了一些集成度更高的虚拟拍摄解决方案。美国Lightcraft公司的Previzion系统在摄影机上方加装一个竖直向上的鱼眼镜头,通过其捕捉摄影棚顶部的二维码星云图来确定摄影机当前的位置信息。英国Ncam 公司则基于双目视觉定位原理,在摄影机主镜头下方加装两个鱼眼镜头,在摄影机运动过程中通过识别场景中的特征点云,依据双目视差原理解算出摄影机的空间位置信息,相较于需要提前搭建二维码坐标的Lightcraft系统更加方便快捷。

2.4 游戏引擎的应用

近年来,游戏引擎发展迅速,基于PBR 的渲染方式兼顾了运算效率与渲染的真实感,在满足实时性的同时画面质量已经向电影级画面逼近。同时,游戏引擎具有很强的可扩展性,拥有丰富的第三方软硬件的数据接口,可以很方便地将动作捕捉与摄影机跟踪等数据导入,非常适合用于电影虚拟化制作,越来越多的影视从业者渐渐放弃传统的MotionBuilder等渲染模块,转而采用UE4、Unity等游戏引擎作为虚拟化制作中实时交互预演的三维渲染平台。

2.5 实拍LED墙面的虚拟制作方式

绿幕实时抠像合成的虚拟预演方式提高拍摄直观性和交互性的同时,也存在其自身的问题,比如跟踪精度不够高,光线经绿幕反射到前景物体上的溢色现象等,给后期制作带来很大的困难。近年来出现了一种抛弃绿幕,在现场用LED 矩阵组成的墙面实时显示虚拟三维场景,摄影机直接拍摄出最终画面的制作方式。其实早在19世纪30年代,就有人通过在背景板上投影的方式来拍摄车戏的镜头。但在当时这种方法也存在很明显的缺陷:由于背景投影画面视角的固定,只能用于拍摄固定机位的镜头,并且很容易出现前后景空间透视关系不匹配的情况。后来又产生了将预渲染的镜头显示在LED 背景板上的拍摄方式,虽然提高了画面的分辨率和沉浸感,实现了运动镜头的拍摄,但由于预渲染镜头机位的运动是提前固定好的,在实际拍摄时缺乏交互性。因此,这种方式也仅仅停留在前期预演阶段,或者应用在一些背景与前景距离特别远的镜头中。《遗落战境》 《东方快车谋杀案》 《星球大战外传》《登月第一人》等影片都运用了这种拍摄方式。

3 新兴的“In-camera VFX”虚拟制作系统

图2 In-camera VFX 系统模块

在2019 年SIGGRAPH 上,EPIC GAMES 展示了与Lux Machina、Magnopus、Profile Studios、Quixel、ARRI联合研发的“In-camera VFX”虚拟制作系统。该系统利用LED 矩阵墙面直接实时渲染出摄影机所拍摄的三维虚拟场景,作为实际拍摄的背景,同时还能够为真人演员及道具打光提供真实的高光反射效果,使得摄影机直接在现场就能拍摄出最终画面,In-camera VFX 系统模块如图2所示。

3.1 摄影机跟踪模块

In-camera VFX 系统的摄影机跟踪是由Profile工作室实现的,Profile团队利用光学动作捕捉的方式,在摄影机上绑定反光球,通过摄影棚顶端的红外摄像机来实时跟踪摄影机的位置。当摄影师操作摄影机推拉摇移以及改变焦距时,Profile的服务器将摄影机空间位置等外部参数以及镜头焦段等内部参数解算后传递给主工作站的UE4 引擎,UE4 引擎为此类摄影机跟踪数据提供接口,从而使引擎能够利用这些数据实时渲染出虚拟摄影机拍摄到的三维虚拟场景。

3.2 UE4引擎主工作站模块

图3 LED渲染画面

UE4引擎主工作站是整套系统的核心,其负责接收Profile服务器传来的摄影机位置姿态数据,同时运用这些数据实时渲染出LED 矩阵上显示的虚拟场景画面,此外还要与VR 勘景模块实时交互。三维虚拟场景是由Quixel公司提供的三维模型资产与超写实环境贴图,UE4引擎自身能够提供实时的渲染,系统的核心难点在于将UE4引擎渲染出的三维虚拟场景提供给四面LED 矩阵墙面符合其各自视角的渲染画面,并使其保持同步,从而达到真实的沉浸感。n Display是UE4引擎中的一个功能插件,能够使得多个同步显示屏实时渲染内容,比如由多个相邻的物理显示屏组成的Powerwall显示屏,或者Cave虚拟环境中使用多个投影仪将3D 环境投影到穹顶、倾斜幕墙、曲面屏等物理表面,n Display通过其附加插件Warp Utils来生成驱动LED 矩阵像素映射的数据。nDisplay需要得到的信息有:组成群集网络所使用的计算机、渲染到各屏幕的画面大小和分辨率等特性、各屏幕在3D 空间中的空间位置关系等。为此,需要创建配置文件在其中说明此类信息。In-camera VFX 系统有三个渲染器,分别对应左墙面及中间左半墙面、右墙面及中间右半墙面、顶部墙面(如图3),均输出4K 画面。为了保证各LED 墙面渲染画面保持完全同步,nDisplay中三个渲染器节点为主从关系 (如图4),主渲染节点通过虚拟现实外围网络 (VRPN)的连接来接受摄影机跟踪等数据的输入,然后分发给其他两个从渲染节点。

图4 渲染器数据流

理论上nDisplay 可以容纳任意规模的群集网络,添加任意数量的渲染器及LED 矩阵,nDisplay均能够完成屏幕渲染及映射。在实际运行中,nDisplay保证在真实摄影机视场角内的渲染画面为最高分辨率(3K 或4K),而降低在摄影机视场角外的渲染画面的分辨率,从而降低运算复杂度,提升渲染效率。另外,nDisplay还支持曲面LED 屏幕,在配置文件时进行参数标定即可。

3.3 LED矩阵模块

In-camera VFX 系统的LED 矩阵由四个面组成,分别为左面、中间面、右面和顶面。所有面都是由完全相同的50cm×50cm 的LED 面板组成的矩阵,单个LED 面板像素为176×176。LED 面板像素的映射是基于PFM (point float map)文件的方式,一个PFM 文件对应一个网格,网格中的每个顶点对应着一个LED 背景板上的像素,n Display采用这种方式来提高映射质量。nDisplay插件启用后将会在UE4中创建LED 面板和LED 墙面蓝图类,在UE4关卡中通过设置LED 蓝图实例的参数来调整LED 墙面的大小、分辨率、弯曲角度、空间位置关系使得其与真实空间中的LED 墙面匹配,以达到最真实的沉浸效果。

3.4 VR勘景模块

Magnopus团队依据其虚拟制作的经验,基于HTC VIVE在UE4.23开发了一套专门面向电影制作的VR 勘景工具集,这套工具集使得在实际搭景前就能预先看到虚拟的场景。主创人员戴上VR 眼镜能够通过虚拟的取景器看到360度的全景VR 场景,并且取景器的焦段是可调节的,为摄影师选取镜头及构图提供参考。此外,工具集支持在VR 环境中通过测量工具测量虚拟场景中两点之间的距离来衡量虚拟场景的实际大小,为实际置景提供依据。摄影师可以通过VR 置景工具随意移动虚拟场景中的道具,并且作出的改变在LED 墙面上也是实时同步的。对于在真实场景中无法轻易移动的物体,在引擎中可以很方便地进行移动或删除,增强了美术置景的灵活性。

3.5 模块间的通信

图5 基于Live Link的通信方式

In-camera VFX 系统各模块间的通信有两种解决方案,一种是基于Multiuser的通信方式,另一种是基于Live Link 的通信方式。两种方式各有优劣,要依据具体情况选择。基于Live Link的通信是利用Multicast(组播)的工作流程来尽可能地减小延迟,当需要进行快速、大量的数据传输时采用LiveLink的通信方式。如图5所示,Profile服务器直接将摄影机跟踪数据分发给其他模块。

基于Multiuser的通信方式相比Live Link实时性较弱,延迟较高,但系统的鲁棒性高,变更系统结构时更加灵活。Multiuser是一种“客户端——服务器”的工作模式,其系统核心是Multiuser服务器,系统其他各模块作为其客户端与其连接 (如图6)。

图6 基于Multiuser的通信方式

4 总结及展望

相较于绿幕抠像实时合成的虚拟预演方式,直接拍摄LED 矩阵的方式使得导演进行场面调度以及摄影师调整构图时拥有了更高的直观性和把控性,也为演员的表演提供了参考依据。同时,该系统省去了后期繁琐的制作流程,提升了整体制作效率,并且也解决了传统绿幕拍摄时不可避免的溢色等问题。此外,在光线匹配方面,In-camera VFX 系统直接利用UE4中的预设通过顶部LED 矩阵对场景照明,提升了真实场景与虚拟环境匹配度,前景物体高光部分的反射也非常真实自然,相比传统的采用环境球采集现场光照之后再后期处理的方式更加简便快捷。同时,实拍LED 矩阵的制作方式也存在一些缺陷,比如LED 面板为面光源,只能模拟天空光、环境光等软光源,还无法模拟光比较大的硬光源照明效果;不同LED 墙面的接合处采用直接映射,拼接效果比较生硬;另外,In-camera VFX 只能用于背景为特效场景的镜头拍摄,还无法实现演员与虚拟角色产生交互的镜头。综上看来,实拍LED 矩阵的方式更加适合应用于广告拍摄及虚拟演播室,在电影拍摄过程中的适用性还有待观察,目前已经有如《碟中谍6》等影片采用这种制作方式,并且达到了逼真的视觉效果。未来随着LED 显示屏点距的缩小以及游戏引擎的进一步发展,相信这种制作方式会达到更加普遍的应用。同时我们也有理由相信未来电影虚拟化制作不仅限于绿幕抠像的方式,还会有更多制作效率更高、视觉效果更好的新型拍摄方式出现。❖

注释

①“In-camera VFX”说法来自于https://www.unrealengine.com/zh-CN/spotlights。

猜你喜欢
墙面引擎矩阵
点燃企业发展的“引擎”
打造信息化建设的“党建引擎”
车坛往事4:引擎进化之屡次失败的蒸汽机车
超酷的智能绘画机器人
多项式理论在矩阵求逆中的应用
开关的美丽衣裳
矩阵
矩阵
矩阵
促进物理思维训练的好题