(二)《僵尸世界大战》
《僵尸世界大战》应该是目前来说动用CG技术最多的一部僵尸电影,片中的很多僵尸场面远非一般僵尸电影里面真人表演的僵尸所能做到。从电影风格上来说,这部《僵尸世界大战》其实跟当年那部《星河战队》有不少相似之处,二者都聚焦于展现由富有攻击性的个体组成的群集,创造这类群集洪水猛兽般的视听震撼效果。两部影片在制作时间上相隔十几年,技术上的进步却早已是今非昔比。《星河战队》里的外星虫族在设计上属于结构呆板肢体运动简单的节肢动物,大量虫族个体聚集在一起做整体上的缓慢运动;而《僵尸世界大战》里的僵尸必须是人的形体。一旦形体上向真人靠拢,不光是设计上更复杂,观众的认知要求也会更高。而有了CG技术的借力,很多靠真人表演无法实现的僵尸场面,比如成群僵尸的疯狂快速运动等,僵尸个体和障碍物之间、个体和个体之间的相互冲撞,这些效果在影片中都得以一一实现。负责这部电影CG特效的是MPC公司。下图是影片中相对来说比较简单的一些镜头,利用Massive创造出僵尸在大街上追逐人群的群集运动效果。这里面远处逃跑的人类是真人表演,而近处的僵尸群是CG创造的数字角色,最终完成的镜头完全看不出有任何合成的痕迹。
《僵尸世界大战》中僵尸追逐人群的镜头制作过程
这部电影中更具技术含量的是成群僵尸在巷道里面汹涌狂奔的几组镜头,包括僵尸群在城墙下面汇聚一处向上攀爬的镜头,僵尸群冲过汽车障碍物的镜头,两股僵尸群在巷道中汇合冲撞的镜头等。这几组镜头可以说是群集动画里面最别具心裁的设计。MPC公司在这里加入了流体运动的算法设计,僵尸群汹涌冲撞的效果,看上去更像是高速运动的流体在受到重力、阻力、撞击时产生的猛烈效果。
《僵尸世界大战》里最具创意的僵尸群集场面
(三)《宾虚》
2016年,好莱坞重拍了当年揽获十一项奥斯卡奖的经典影片《宾虚》(1959)。这部新版的《宾虚》和老版相比成败得失另当别论,这里只说它里面的群集特效。片中最具震撼的是发生在古罗马赛马场的这一场赛马的戏。老版中为拍这一场戏电影公司耗费巨资建造了一个真的赛马场,而新版中只需要大致建造一个跑道,赛马场的周边环境和看台观众这些全部拜CG所赐。著名的CG特效公司Mr.X和Massive Software公司合作,利用Massive软件制作了赛马场上六万多名数字角色。每一个角色都随机分配了几种不同的服饰,这样乍看上去每一个似乎都不一样。片中出现的马匹受惊后四处冲撞的镜头,其中的马也全部是由Mr.X公司纯CG制作。
新版《宾虚》里面赛马场的拍摄实景与最后完成镜头对比
(四)《海王》
电影《海王》中的海底生物群海沟族是Scanline VFX公司利用Massive完成的。Scanline VFX公司以高度逼真的水模拟解决方案而闻名。在《海王》中,主角Mira和Arthur乘船前往海沟王国进入海洋深处。无数海沟族在波涛汹涌的海浪中接近Mira和Arthur的船。按顺序排列的海沟族群每帧约有1500个,当海沟接近船只时,他们需分布在海浪下方的不同深度处。当他们靠近目标时,有时还需要冲破水面,然后跳回水下争抢位置。因此,这些生物不仅需要表现出特定的游泳、潜水和冲撞行为,还需要令人信服地与起伏的海浪相互作用。Scanline VFX公司用Massive很好地模拟了它们的活动,并直接通过数字水模拟来结合生物的运动。[endnoteRef:1] [1: Massive Software. Creatures from the deep: how Massive had a hand in Aquaman's Trench monsters. massivesoftware/aquaman.html]
《海王》中的海沟族
三、其他群集动画软件及应用
主流三维软件如3D Studio Max,Autodesk Maya等,可以利用粒子系统及其他动力学模型实现小型群集动画。有许多基于这些主流三维软件的插件能够实现更加便捷和可观的群集制作功能。CrowdMaker和Brainbugz是Maya上较早的群集动画插件,它们以数学表达式使粒子控制更加科学精准,并且插件中预设了排斥、聚拢、对齐等群集特性参数。但是本质上仍然是基于粒子表达式的一系列三维向量运算,而并不是人工智能。因而当面临稍具规模的群体,就会因巨大的数据量而难以为继。
以下两款插件在电影CG特效制作中应用较多,并且和之前不同的是它们运用模糊逻辑计算,运算速度快,能够实现难度更大的群集场景。一款是群体动画模拟插件Golaem,运用骨骼计算,能够实现自动规划角色路线。这款插件被用于多部电影的制作,比如Uncharted Territory公司制作的《独立日2:卷土重来》(Independence Day:Resurgence,2016)中人山人海的体育场场景。Framestore公司制作的《惊天魔盗团2》(Now You See Me 2,2016)中令人印象深刻的一个场景,魔术师丹尼尔·阿特拉斯使雨滴滞留在空中,并且控制水滴的移动,这个场景也归功于Golaem插件强大的群集模拟功能得以实现。
《惊天魔盗团2》中由雨滴组成的群集动画
MIARMY是一款应用普遍的国产群集动画Maya插件,它能够逻辑设定AI解算,不需要编程和节点连接完成智能角色搭建,并且它能够自定义骨骼、动画和行为,其开发者是Basefount(成都心智网络科技有限公司)。北京VHQ公司用MIARMY为电影《鲛珠传》(2017)制作了片中的群集动画。这款软件目前已走向国际,《蚁人》(2015)、《长城》(2016)中的群集场面均得自于MIARMY。
《蚁人》中的蚂蚁大军源自于国产群集动画软件MIARMY
四、群集动画的审美潜力
群集动画横跨数学、物理、计算机、CG动画和电影制作等多个领域,从理论基础到技术实现都相对复杂。本文只是对其做的一点粗浅梳理。在电影的CG特效领域,群集动画的潜能还远没有被挖掘殆尽。在CG技术成熟之前,越是涉及众多角色的宏大场面,越是会让电影的制作公司在烧钱方面心痛不已。而有了群集动画的CG技术之后,制片公司再也不用为拍摄一个角色众多的宏大场面而发愁人员、经费方面的问题。不仅如此,就像CG不是电影技术的补充而是对电影本体的拓展,群集动画的意义也绝不只是可以给电影公司拍摄群体场面节省经费,它的出现和发展让电影在表现群体场面的问题上有了更大的施展空间。如果说传统特效时代的电影创作面临的最大问题是担心"做不到"的话,如今的电影创作面临的问题早已是不怕"做不到"而怕"想不到"。
(一)从难以控制到完全可控
在有关群集动画的CG技术出现之前,群集场面的拍摄向来是电影公司最头痛的事情。以人作为角色的群集场面虽然一般都耗资不菲,但至少还可以做到一切因素可控;而以动物作为角色的群集场面,创作上最大的困难一般不是资金问题,而是动物群体的不可控。而群集动画彻底解决了拍摄对象难以控制这一问题。
由数学算法来支配物理运动,借助计算机用物理运动来模拟生物群体的运动,然后再进行贴图配色等电影艺术方面的处理,让群集中的每一个个体体现出视觉上的生物质感,这是群集动画从理论基础到最后完成电影CG的整体思路。很多电影中的群集场面看似复杂,其实背后的规则极其简单。早在1986年,计算机图形学家Craig Reynolds便开发了著名的Boids鸟群算法。这种算法仅仅依赖分离、对齐、凝聚这三个简单规则,就能实现各种动物群体行为的模拟。这里的"分离"是指鸟群中的每一只鸟总是和邻近的鸟保持距离避免碰撞;"对齐"是指每一只鸟都会时刻调整方向,顺着群体的整体方向飞行;而"凝聚"指的是每一只鸟都会时刻调整飞行速度,以保持自己时刻处在周边鸟的中间位置。借助这三条简单的算法规则,由Craig Reynolds参与创作,1987年的动画短片的《Stanley and Stella in: Breaking the Ice》成功的实现了对鸟群和鱼群的模拟。鸟群算法除了被应用于电影和动画以外,还被应用在多通道网络信号、视觉信息等领域的优化算法中。
动画短片《Stanley and Stella in: Breaking the Ice》(1987)中的鸟群和鱼群
(二)从视听震撼到心理体验
群集动画的意义不仅在于模拟自然界真实存在的鸟群、鱼群、人群、兽群等,在电影创作领域,这一技术可以用来创造出各种靠真实拍摄不可能创造出的视听效果。这些视听效果带来的心理体验,《雨果》中的温馨迷人和《僵尸世界大战》中的恐怖惊悚,大概是两个极端;而其他电影中的群集场面,大致都处在这两个极端的中间地带。
我们的心理感知系统,很可能是我们人类亿万年生命演化的结果;而电影能够提供的诸多快感来源,正是让观众在一个安全的环境中,体验到危险、恐惧、紧张、震惊、喜悦、厌恶等各种信息的刺激,由此产生各种不同的心理体验。像《星河战队》中的外星虫族、《僵尸世界大战》中的僵尸群、《长城》中的饕餮,这些怪物的个体,撩拨到的可能主要是观众的紧张和厌恶心理;而由这些怪物组成的密密麻麻的群集及其运动,撩拨到的很可能正是观众的密集恐惧心理,这也正是这类电影制造观影快感的心理依据。生活中患有密集恐惧症一定不会是一件让人舒服的事情,但是在观看电影的时候,轻微的体验一下密集恐惧或者其他某种不太舒适的感觉,恰恰是观众——至少是喜欢这一类影片的这一部分观众——其获得观影快感的原因之一。
《长城》中的饕餮怪兽群
影片《雨果》则另辟蹊径,片中的火车站是一个把群集动画艺术化运用的独特例子。同样是群集动画,《雨果》中的火车站给人的感受不是类似于《僵尸世界大战》或者《长城》中的密集恐惧,而是温馨、温暖和温情,由此向我们展现出群集动画的另一个维度上的可能。
(三)智能化与艺术创造
从动画短片《Stanley and Stella in: Breaking the Ice》到《指环王》,一直到《头号玩家》、《复仇者联盟4:终局之战》,电影和动画中所使用的群体模拟其实一直都是以设定好的个体行为规则来作为驱动,只是规则的数目在日益增多,由此我们看到的群体场面更加复杂。比如《指环王》中的战争场面,看似每一个角色都活灵活现千变万化,实际上他们总共只会做三百多个事先设定好的动作;到《头号玩家》这里技术进一步升级,角色形象的丰富性和动作的多样性翻倍增加。
《头号玩家》片尾由众多游戏角色组成的群集场面
1992年,计算机科学家克里斯·沃特金斯提出了Q-learning理论,它可以让群体中的个体执行各种操作,并能够根据从环境中获得的奖励或惩罚来优化其行为。使用这种算法,伴随着大量可能的行为和复杂的环境,个体将以现实和不可预测的方式行动,并形成更强大的集体意识。Q-Learning至今仍是机器学习中的重要算法之一,通常称作强化学习。"强化学习就是能够感知环境的自治Agent,怎样通过学习来选择能达到其目标的最优动作。当 Agent在其环境中做每个动作时,环境都会提供一个反馈信号,即奖赏值。强化学习也可看成是从环境到动作的映射学习过程,其目的就是采用的某动作能够从环境中得到最大的累积奖赏值。"[endnoteRef:2] [2: 刘忠,李海红,刘全强.强化学习算法研究[J].计算机工程与设计,2008,29(22):5805]
这种让角色自我学习的算法,以及计算机科学在群集动画、人工智能实现等领域的未来发展,有没有可能影响到日后的电影创作,让我们在今后看到今天连想都无法想到的电影艺术作品,我们拭目以待。总之,探索人工智能的各种可能,这是计算机科学的研究关注点;而对于电影创作来说,技术始终服务于艺术,给观众带来视听享受、情感体验和审美快感,才是技术应用的根本目的。
,