第十六章 控制的未来 16.1 玩具世界的卡通物理学

电影《侏罗纪公园》里的恐龙最了不起的地方就在于它们有足够长的人工生命,可以在电影《石头城乐园》中被再次用作卡通恐龙。

当然,再次出场的恐龙不会完全一样。它们会更为驯服、更长、更圆,也更听从指挥。不过,这些恐龙的身体内,跳动的却是一颗数字心脏,一颗属于霸王龙或速龙的心脏——不同的身体,同样的恐龙之心。作为工业光魔公司的奇才、虚拟恐龙的发明者,马克·戴普只要改变这些生物的数字基因设置就可以把它们变成可爱的宠物,同时又让它们保持逼真的银幕形态。

《侏罗纪公园》中的那些恐龙不过是些行尸走肉。它们有逼真的身体,却缺少自己的行为、自己的意志,自己的生存力。它们是由计算机动画师操纵的幽灵般的提线木偶。不过有朝一日,这些恐龙会像匹诺曹一样获得属于自己的生命。

在这些侏罗纪恐龙进入到栩栩如生的电影世界之前,它们栖居在一个空旷的三维世界里。在这片幻想世界中,除了音量、灯光、空间之外,几乎一无所有。风、重力、惯性、摩擦力、硬度以及物质世界所具有的细枝末节全都不存在,需要想象力丰富的动画师来构建。

“传统动画中所有的物理习性都取决于动画师的认知”,说这话的是迈克尔·凯斯,他是苹果电脑公司的一位计算机图形工程师。比如,当沃特·迪斯尼画出米老鼠屁颠屁颠地从楼梯上滚下来的时候,他在画纸上展示出的效果来自他对万有引力的认识。不管是真还是假,米老鼠遵循的是迪斯尼对物理学的理解。这种理解通常都不怎么真实,而这也恰恰是动画片的魅力所在。很多动画师都会借助夸张、变异,甚至干脆忽视真实世界的物理定律以博一笑。不过,现代电影风格追求严格的真实感。观众们希望电影《外星人E.T.》里的飞行自行车像“真的”飞行着的自行车,而不是卡通版自行车。

凯斯想要尝试的,就是把物理学引入仿真世界。“我们参考了把物理学装进动画师脑子的传统做法,决定改一下,让计算机也懂得一些物理学知识。”

让我们从那个一无所有的幻想世界说起,想象里面有一个漂浮的徽标。凯斯说,这个简单世界的问题之一是“里面的东西看起来轻飘飘没有一点重量”。为了增加这个世界的真实感,我们可以给对象添加质量属性,同时给环境设置重力定律。这样一来,如果一个飘浮的徽标掉在地板上,它坠落的加速度会跟一个实物在地球上掉落的加速度一样。重力公式非常简单,把它置入一个小世界也不难。我们可以给徽标再加上一个弹性公式,这样它就能“自然而然”地以非常有规律的方式从地板上弹起来。它遵守重力定律、动能定律以及让它减速的摩擦力定律。我们还可以给它加上硬度——比如塑料的硬度或者金属的硬度——这样它对冲击的反应也变得真实起来。最后的结果就有一种真实感,当镀铬徽标摔到地上的时候,它反弹的幅度越来越小,直到咔嗒一下停下来。

我们可以继续运用更多的物理定律和公式,比如弹性系数、表面张力、旋转效果,然后把它们编码到环境中去。随着我们为这些人工环境加入更多的复杂度,它们就会成为合成生命成长的沃土。

这就是这些侏罗纪的恐龙如此逼真的原因。当它们抬腿的时候,它们要克服虚拟的躯体的重量,它们的肌肉会伸缩或下垂。当脚落下的时候,重力会拉扯它,落地时带来的冲击同时向上反射到腿部。

迪斯尼于1993年夏天发行的电影《人吓鬼》中那只会说话的猫,也是一个类似于恐龙的虚拟角色,但更逼真。动画师们首先制做一个数字猫的外形,然后以一张照片里的猫为参照,为这只数字猫披上质感的皮毛。要不是它那非同寻常的讲话能力,它和那只猫简直像极了。它嘴部的动作是从人那里映射来的。所以,这只虚拟动物其实是一个猫-人混血儿。

电影观众看到秋叶被吹到街上。他们没有意识到这个场景其实是计算机生成的动画。这个画面之所以看起来很真实,是因为这段影像中确实有某种真实性:片片虚拟的叶子被一阵虚拟的风吹到了虚拟的街道上。就像雷诺兹的那群虚拟蝙蝠一样,真的有大量东西按照物理定律被某股力量真实地推动着。那些虚拟的树叶是有属性的,比如重量、形状和表面积。当把这些树叶释放到某一阵虚拟的风里的时候,它们所遵循的那套定律,跟真的树叶所遵循的物理定律是一样的。所以,在这个虚拟场景中,各部分之间的关系就如同你的身体发肤一样真实。尽管叶子的细节不足以近看,但飘零的落叶其实也不需要太多的画工。

让动画形象遵循自己的物理学法则是现实主义的新秘诀。当终结者II号机器人从一滩熔化的铬里冒出来时,那效果逼真得令人震惊,因为它遵循的是液体在真实世界里的物理规律(譬如表面张力)。这是一滩“仿真”的液体。

凯斯和他在苹果公司的同事盖文·米勒设计出一些计算机程序,来渲染小溪涓涓流下或者雨点滴落在水池中的种种微妙细节。他们把水文学各种定律的公式与一个动画引擎挂上钩,把这些定律移植到了仿真世界。在视频短片中你可以看到,在柔和的光线下,一道浅波扫过一片干燥的沙岸,像真的波浪那样不规则地破碎,然后退下,留下湿漉漉的沙地。其实这些都不过是些方程式而已。

为了使这些数字世界以后也能有用,所有创造出来的东西都得简化成某种方程式。其中不仅包括那些恐龙和水,最终还要包括那些恐龙啃咬的树木,那些吉普车(在《侏罗纪公园》里,有些场景中的吉普车就是数字的)、建筑物、衣服、餐桌还有天气。这些数字形式并不会仅仅是在拍电影时才用。在不久的将来,不单只是电影,所有制造品都将通过计算机辅助设计软件进行设计、生产。如今,汽车部件已经先要在计算机屏幕上进行仿真,然后将方程式直接传送给工厂的车床和焊接机,使这些数字变为真实的形状。一种名为“自动成型”的新工业流程从计算机辅助设计那里获取数据后,能在瞬间由粉末金属或液态塑料直接生成三维原型。某个物体这一刻还只是屏幕上的一些线条,下一刻就已经是一个可以拿在手里或带着到处走的实实在在的东西了。自动成型技术“打印”出来的是真正的齿轮而不是某个齿轮的图纸。为工厂机器准备的紧急备用件是用抗压塑料在车间就地“打印”出来的;在拿到真正的备用件之前,它们可以顶上一阵子。不久的将来,这种打印出来的零件就会成为真正可用的零件。约翰·沃克是世界上最知名的计算机辅助设计软件AutoCAD的创始人,他告诉记者:“计算机辅助设计要做的,就是在计算机里为真实世界中的物体建造模型。我相信,在时机成熟的时候,世界上所有的东西,无论是否是制造出来的,都可以在电脑里生成模型。这是一个非常非常巨大的市场。这里包罗万象。”

生物学当然也不例外。计算机已经可以为花朵建立模型了。普鲁辛凯维奇是加拿大卡尔加里大学的一位计算机科学家。他运用植物生长的数学模型创造出三维虚拟花朵。显然,绝大多数植物的生长过程都符合几条简单的定律。开花的信号可能非常复杂,同一根枝条上花朵的开放顺序也可能受到几个交互信息的影响。但是将这些相互作用的信号编制成一个程序却非常简单。

植物生长的数学模型,是由理论生物学家阿利斯蒂德·林登美尔在1968年建造出来的。他的方程式清晰地表明了康乃馨和玫瑰之间的差别:两者之间的区别可以简化为一粒数字种子的一组变量。这样,一颗完整的植株可以用一粒种子来表示,在硬盘上也就占几千字节。当计算机程序给种子解压之后,屏幕上就长出一朵生动的花——绿芽首先萌发,然后叶子展开,一个蓓蕾成形,接着,一朵鲜花适时绽放。普鲁辛凯维奇和他的学生们翻遍植物学文献,了解多头花朵如何开放,雏菊如何成形,榆树和橡树又是如何抽出各具特色的枝条。他们还汇集了上百种海贝和蝴蝶的生长算法法则。由此得出的图像结果很有说服力。普鲁辛凯维奇用计算机培育出的一幅繁花朵朵的紫丁香图像,完全可以用来作植物图录中的照片。

起初,这只不过是学院里一项有趣的学术活动,而今,想要这款软件的园艺家们打给普鲁辛凯维奇的电话已经令他应接不暇了。如果有一个软件能够向客户直观地显示他们的景观设计在未来十年甚至是近到来年春天的样子,他们愿意为这种软件付高价。

普鲁辛凯维奇发现,仿造一个活物的最佳办法就是种植它。他从生物学中提炼出来又应用到虚拟世界中的那些生长法则,现在正被用来种植电影中的树和花朵。它们所形成的环境与那些恐龙和其他数字角色们正可谓是相得益彰。

博德邦软件是颇受尊敬的个人电脑教育软件发行商,销售一款为各种物理力建立模型的物理教学软件。当你在苹果电脑上启动教育软件中的物理学程序后,就能创建一个绕着屏幕上的太阳旋转的玩具行星。这个虚拟的星球遵循着这个玩具宇宙中的法则:重力、运动、摩擦。通过与动力和重力打交道,学生就可以对太阳系中的物理过程有一个直接的感受。

我们到底能够给这个系统塞进多少东西?假设我们不断地为这个玩具星球添加它必须遵循的物理定律,比如静电引力、磁力、摩擦力、热力学定律、体积,假设我们不断地将我们在真实世界中所看到的每一种特征都加到软件程序里,最终我们在电脑中能够得到一个什么样的太阳系?如果用电脑来制做一个桥梁模型——包括钢材的拉力、风力、重力等等所有的力——我们究竟能不能说我们的电脑里已经有了一个桥梁?还有,我们能把生命加进来么?

物理学正在飞速地渗透入数字世界,而生命渗入的速度比物理学还要快。为了看看分布式生命对数字电影到底渗透到了什么程度,又产生了什么样的后果,我探访了几个最顶尖的动画实验室。