《阿凡达2:水之道》中水流体制作的视效解析
《阿凡达:水之道》目前豆瓣评分为8.0,剧情内容方面的评价两极分化,但视效方面却是一致好评。《阿凡达2:水之道》主打的因素是“水”,也是电影里的主环境元素,这在制作上难度很大。今天我们就来看一下电影对水流体制作的视效解析。
Wētā FX攻克万难 创造”CG奇迹“
一部好的电影除了得到观众的肯定之外,还要看它本身的价值,例如2009年上映的《阿凡达1》在表演捕捉、虚拟相机和原生立体摄影等多项技术方面都有着巨大突破,在艺术方向上也意味着新的开始。
有“票房之王”之称的卡梅隆一直合作的视觉效果工作室Wētā FX(当时的Weta Digital),在从编辑的表演中获取“模板”并将表演捕捉转换为CG角色,同时还实现了详细的面部绑定和动画、纹理、渲染以及合成。
而这次《阿凡达2:水之道》,Wētā FX再次提高了视觉效果的标准,比如自主创新的面部绑定和动画,从混合形状转向新的肌肉拉伤系统(具有内置神经网络),该系统可以由表演捕捉和动画师驱动。
还有我们前段时间提到的实时表演捕捉,引进了新的动捕套装和HMC的新增功能、真人同步摄像机和实时深度合成,本身动捕就充满难度,更不用说在长120英尺、宽60英尺、深30英尺的大型水槽中实现演员的水下捕捉无疑是更大的挑战。
Wētā FX不断迎万难,把一切关于《阿凡达2:水之道》的CG技术争取做到极致,电影中“数字水”的处理,更是让人眼前一亮。
电影《阿凡达2:水之道》中的水分为不同类型的CG水,有波浪、珊瑚礁、水下气泡、水流等等,这意味着巨大的工作量,Wētā在其内部模拟框架Loki中深入投资流体求解器的特定研发,还有许多其它工具,包括专有的基于物理的渲染器Manuka,全都为了展现超写实的水。
下面就让我们跟着Wētā FX中的高级视觉效果总监Joe Letteri、高级视觉效果总监 Eric Saindon和高级动画总监Daniel Barrett来了解一下关于《水之道》中涉及到水制作的技术干货!
左起:Joe Letteri、Eric Saindon、Dan Barrett
水下动捕
捕捉本身实际上是由Lightstorm的团队处理的,该团队采用的方法就是构建一个水箱中的动作捕捉空间,然后在水箱的上方同样再构建另一个空间,这样不管是水中还是水外都可以进行动作捕捉,比如在角色从外部跳入水中时,搭建的两个平台就起到了非常关键的作用。
在水中捕捉时,因为水的缘故,颜色褪色非常快。而电影拍摄必须处理红色波长的光,这个时候就会出现一个难题,红色波长的光是无法在水下使用的,它会被水所吸收。
为了达到预期的效果,制作团队想到运用一种超蓝光,接近于紫外线那种,它在水下呈蓝色,但是在水面上呈现红外线。
处理好光的问题,在水下还有一个至关重要的组成部分,就是演员的表演。
图片里水中白球的作用是来划清水的上方和下方的界限,防止水上方的光污染和下方的表演捕捉系统,并且保证水下光均匀的散射,同样也是确保在水下表演的任何人可以安全地浮出水面的道具。
在动捕制作上,团队表示其实最大的技术支持应该是实时深度合成系统,该系统可以将角色正确的放置在空间中并获得一个正确的构图,由于《阿凡达》电影中角色的高度差异,比如想要创建一个画面,让大反派Quaritch(阿凡达形式的Stephen Lang)站在蜘蛛的后面,但由于他太大了以至于在构图方面会呈现的很奇怪,比例也会发生偏差。
但是如果采用深度合成系统,对镜头的内容、构图方式、现场拍摄方式就会有一个很好的突破和反馈。咱们依旧拿蜘蛛与Quaritch的互动来举例,在Quaritch头部的正确位置放置一个漂浮的视频监视器,它就会展示出Quaritch的捕捉表演,还会与CG角色在场景中的动作进行同步移动。以一个简单的方式来获得更佳、更便捷的效果。
创建逼真的CG水流
关于水其实有两个棘手的事情,一是我们都知道水能形成各种形式,比如飞溅的水滴、气泡、泡沫等,每一种水都是不同的形式;二是构建的大水箱和真正的海洋是不同的,与翻滚的波浪是不同的,在水中游泳的真实生物和在水中航行的真实船在打造的水箱中感觉也是不同的。
这完全没办法用一个简单求解器来解决所有问题,大量水对空气阻力的反应与小颗粒的反应不同,每一个小的原因都能造成水形状或比例的改变,状态实在太多变,于是团队经过一些考量和研究最终在Loki中编写了一套新的求解器,每个求解器都针对最佳状态进行了调整。
什么是Loki?
这是一种新的框架,用于稳健地模拟流体、刚性和可变形对象,在任何单个元素上具有超强的保真度,以及跨多个元素的耦合和转换功能。Loki将多个一流的求解器调整到一个由声明性状态机驱动的统一框架中,用户可以在其中声明模拟的是“什么”而不是“何时”,因此可以自动改变系统负责混合对象的任意组合。
Loki所做的基本上是解析模拟并将正确的解算器分配给正确的状态,然后在两者之间留出空间。艺术家可以控制诸如混合点之类的东西以及他们也可以将这些解算器进行组合。而且还有一个优势,那就是可以将它分解成并行的多台机器,这样就可以解决整个水域的解算问题。例如,在水中有一堆船时,可以在船的上方和周围进行高分辨率解析,并将其混合到更大的水箱中,这样就可以展现出船在汪洋大海中的感觉。
水中气泡的研究
在常识中,任何人从岸上跳进水里,都会伴随着气泡和水花,尤其是创建逼真的气泡这是一个相当有难度的工作,不仅需要考虑呼吸遇水的反应,还需要考虑衣服和头发伴随着空气跳入水中所产生的气泡流动……
所以为了让制作变得高效,整个团队一直在试图用代码能够一次性解决空气遇水所产生的所有问题,为此团队对水中气泡做了一系列研究,最终提出了一种模拟水下气泡的方法,但是这一方法并不全面,只可以解决小部分区域的气泡但可以在水流湍急的场景下实现高分辨率。
该方法是由两部分组成的混合气泡,对应物在欧拉网格上利用不可压缩的两相 Navier-Stokes求解,空气相也通过 FLIP/APIC 粒子表示,以促进体积守恒和准确的界面跟踪,漫反射对应物捕获欧拉网格未“看到”的子网格气泡运动。团队将它们视为粒子,并开发了一种将它们与散装流体耦合的新方案。耦合方案不限于子网格气泡,还可以应用于其他薄/多孔物体,如沙子、头发和布料。
此外,团队还针对创建写实的气泡细节和增强水流体模拟提供了一套方案,将气泡视为离散的空气粒子,团队使用自主研发的引导技术,将气泡添加到现有的流体模拟中,技术执行流体的局部重新模拟以通过耦合来实现气泡动力学。
当气泡到达表面时,它们会转化为泡沫并单独模拟。泡沫通过平滑粒子流体动力学 (SPH) 进行离散化,并且还可以用流体表面歧管平流约束代替垂直于流体表面的力来获得更稳定的结果,而且需要注意的是SPH力是通过不可压缩粘性液体的建模得出的,这样就可以加强从特写场景转换到海洋大场景的可信程度。
关于“手拉紧皮带的镜头”的实拍还是CG制作?
很多人看完电影之后都有一个疑惑,那就是手拉紧皮带这一幕是如何完成的?真人演绎还是CG制作?
关于这一镜头,其实是实拍和CG相互融合而来的。卡梅隆想要的现场表演是让演员将带子缠绕在杰克的手上并与水互动。道具部门为演员Kevin Dorman制作了一个Ilu鞍座和背带,让他坐在一个小水池里。凯文的手和前臂是制作人员参考CG模型中杰克的手臂绘制而成。Wētā FX拿到实拍的底片,制作团队开始匹配动作,Jake手腕的皮带是用CG实现的。在鞍上以及手和手指周围使用的是真实的水。CG水用于扩展周围环境和杰克身体在水中的相互作用。