业界 | 皮克斯经典动画电影怎样炼成?离不开数学、模型和算法
大数据文摘作品
编译:Zoe Zuo、吴双、Aileen
Pixar用技术带领动画师摆脱简单多边形的束缚,用几何学把故事描述得更加完美。
Tony DeRose在纽约数学博物馆讲厅的坐席间不断穿梭。他身着花哨的带扣T恤,一身Pixar员工的标准打扮,横竖看起来都不像印象中的刻板科学家。
他向观众席问好,其间坐着一群技术宅气质的小孩子、他们的爸爸妈妈、爷爷奶奶、数学老师、科学老师,当然还有年龄一把的数学宅及其朋友们。
一个二十来岁的小伙子,曾经在《汽车总动员2》的群体动画中有所贡献,把自己妈妈也带到了现场。这位母亲想见识一下DeRose是怎样带领团队把她儿子所做的工作搬上大荧幕的。
Derose说:“看到这么多各型各色的人都来听今天的演讲,感觉很棒。”登上讲台后,他问:“你们当中有多少人看过皮克斯(Pixar)的电影?”全场的人都举手了。“看过三五部的有多少人?”他停顿了一下,“那看过全部的呢?”最终有几十个观众举了手,差不多占到全场人数的四分之一。
动画师和游戏设计师也要研究微积分和组合数学
DeRose今天演讲的主题是“电影中的数学”。该主题就是他的本职工作:将算数、几何和代数的理论应用到软件中,从而渲染出物体或者驱动物理引擎。他解释说,无论是在皮克斯还是在其他电脑动画或电子游戏工作室,这道流程几乎是差不多的。
他今天在这儿的目的之一就是告诉大家,动画师和游戏设计师如果对事业有更高的追求,那么数学基础一定要扎实。
作为皮克斯的资深科学家,DeRose可不止是数学功底过硬,他还拥有计算机科学的博士学位,专攻计算物理学,曾在华盛顿大学做过十年的计算机科学与工程学教授。
DeRose此次演讲,是数字博物馆在曼哈顿中城新园区举办的“数学奇遇”系列演讲(Math Encounters lecture series)的首场。
在此之前,DeRose已经做过数次类似的演讲了,他每次都会分享皮克斯技术的新进展,回应粉丝们对新电影的期待。
在皮克斯动画制作中,头发、衣服、液体和气状物(比如云、烟雾和火)都有各自的物理引擎。这些基础引擎会根据具体情况进一步得到增强,以生成更为精确的效果。
DeRose说,“模拟水不难,难的是,怎样让模拟出来的水更像真实的水,可以被引导着向某方向流动。”
在动画《勇敢传说(Brave)》中,女主角梅莉达那满头浓密的动感十足的亮红色卷发就需要全新的物理引擎来模拟。
工作室的动画师绞尽脑汁,要让梅莉达的头发漂亮、富于表现力,甚至比真头发还要真。当然,这样的秀发模型所需的计算量还得在计算机能承受的范围之内。
动画电影里的头发、衣服、液体和气体都有各自的物理引擎
DeRose说:“在现实世界里,发丝一直在发生着碰撞,这样才显得头发富有弹性且很浓密。梅莉达的头发包含了10万个单独的有限元。如果你懂点组合数学的话,就会知道,如果有n个物体,就会产生出n²种碰撞的可能。”
对于梅莉达的头发,那就是100亿种碰撞的可能了。怎样才能在短时间里渲染出这么多种头发碰撞的情形呢?
对此,皮克斯设计出了一个新的空间数据结构,在不会过度损耗的情况下剔除无用的碰撞可能。
皮克斯就是要针对头发模拟创造出PNG或FLAC这种高水准的压缩算法,摒弃MP3或JPEG这类虽然省时间但是很粗糙的算法。
DeRose提到,计算机动画通常要模拟超大规模且又十分精细的物理模型,与物理学家平时进行的科学计算相比有过之而无不及。他的主要工作就是为物理模拟寻找更优的算法,在保证规模的同时还要兼顾细节。
DeRose说,“导演经常说‘唉,这只是背景里一个很细微的东西,看不到的。’导演其实是在撒谎。”
如果导演哪天又冒出新点子,致使物体或角色的物理机制发生改变,整个模拟过程就得重头再来,那样即使皮克斯所有的四个团队同时开工,也没法保证一年出一部片子。
从多边形到曲面
DeRose对计算机动画制作最重要的贡献,就是设计出可快速生成高还原度的平滑曲线的算法,“主要问题就是将复杂的形状分解为计算机可以生成的图形。”
多年来,在计算机动画和电子游戏制中,都是用平面或多边形来表示三维物体。
然而,使用多边形的问题在于,放大细节看时还是能分辨出一个个多边形的棱角,尤其当略过单帧画面或个别像素时,就更容易产生这种错觉。业界的趋势是用曲面取代多边形,因为曲面在放大缩小画面时候都是平滑连续的。
但曲面仍然需要被迅速拆解成有限个数的点或者平面。对此,数学家发明了各种能快速生成平滑曲面的方法。这些曲面通常称为“细分曲面”(subdivision surfaces),因为他们是通过不断对线段取中点并连接而得出的。
细分曲面在皮克斯出品的《棋逢敌手(Geri's Game)》中首次得到应用。这部动画获得了1997年奥斯卡最佳短片奖。相较于先前以多边形为基础的动画,这部动画实现了惊天动地的飞跃,一举奠定了“皮克斯风格”。
DeRose改进自己对多维曲面上小波计算的研究成果,设计出一个生成曲面的新算法。这一算法起初只是用来应对制作特别棘手的动画形象,比如老人的鼻子、衣服褶皱的摆动等。如今皮克斯电影里几乎所有物体都运用了细分曲面。
DeRose展示了《超人总动员(The Incredibles)》的一幅剧照,他指着画面背景说:“这座建筑、每一扇窗户,这些所有物体的细节都是用细分曲面生成的,也许你会为此感到惊讶。”
从Derose与其他计算机科学家在学术界做出的应用性研究,到个别动画短片的尝试,而今曲面细分算法已然成为CG动画的行业标准。
皮克斯、开源、和动画的未来
DeRose和他的皮克斯研究团队仍在持续发论文,并将新技术应用于他们的动画引擎。然而,皮克斯今非昔比,它的研发部门和专利软件已经不似从前在业界一枝独秀了。
以前,一个角色模型的光照和着色、定义各种动作的参数等问题,首先是数学上的难题,然后是写代码上的挑战。
但是如今,像Blender这样的开源软件,几乎可以媲美皮克斯自主研发的软件可以直接做这些了。2012年夏天,皮克斯竟然将自己细分曲面的代码库开源了。
对此,DeRose解释:“过去十年,我们皮克斯领先业界,但现在,我们得依靠大家的贡献才能创造更大的价值。”
皮克斯最大的竞争优势在于,它擅长以数学驱动技术,不满足于制作出更漂亮的图形,还要讲出更动人的故事。
DeRose和皮克斯并没有躺在已有的成就上睡大觉。DeRose对着观众席的孩子和大人说:“在某个地方的某个车库里,一个聪明的孩子和朋友们正在搞大事呢。他们不仅在用Blender这样的工具,还在改进工具。他们,将成为下一个皮克斯。”