第十六章 控制的未来

16.1玩具世界的卡通物理学

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

16.2合成角色的诞生

米老鼠是人工生命的前辈之一。如今已经60高龄的米奇,很快就要进入数字时代。在迪斯尼格兰岱尔工作室外景地一栋永久性的"临时"建筑里,米奇的受托人正在谨慎地规划着如何把自动化技术运用在动画角色和背景上。在这儿,我跟鲍勃·兰伯特聊了起来,他是为迪士尼动画师提供新技术的负责人。

鲍伯·兰伯特让我明白的第一件事情就是,迪斯尼并不急于把自动化技术完全运用在动画上。动画是一门手艺,一种艺术。迪斯尼公司的巨大财富就封存在这门手艺之中,而它的皇冠上的那些明珠----米老鼠跟它的伙伴们----在观众眼中就是这门艺术的楷模。如果计算机动画就意味着孩子们在周六早上看到的那种木呆呆的卡通机器人的话,那迪斯尼宁可不碰它的边。兰伯特说:"我们可不想人们说,'噢,见鬼,又一门手艺钻到计算机眼儿里去了'。"

艺术家们也是一个问题。兰伯特说:"瞧,我们已经让400位穿着白大褂的女士为米奇画了30年。我们不可能一下子就都变过来。"

兰伯特想要说清楚的第二件事情是,从1990年开始,迪斯尼就已经在他们那些著名的电影里使用了一些自动化的动画制作技术。他们正一步一步地数字化他们的世界。他们的动画师们已经意识到,如果不把艺术家的智慧从自己的脑子里迁移到某种几近鲜活的仿真世界中,那么他们很快就会变成另外一种意义上的恐龙。"老实说,"兰伯特说,"1992年的时候,我们的动画师们就已经大吵着要用计算机来完成工作了。"

在动画片《妙妙探》中,手绘的角色们曾经跑过一个巨大的时钟,那就是一个计算机生成的时钟模型。在《救难小英雄之澳洲历险记》中,信天翁奥维尔穿掠过的就是一座虚拟的纽约城,那是一个完全由计算机生成的环境,数据来自一个大建筑承包商为商业目的而收集的数据库。而在《小美人鱼》中,艾瑞儿在仿真出来的鱼群中穿梭,海草轻盈地舞动,水泡像在真实世界中一样散开来。不过,这些计算机生成的背景画面,每一帧都是在向那400位白衣女士打过招呼后,先打印到精细的画纸上,然后通过手工上色来与电影的其他部分合为一体。

在《美女与野兽》中,迪斯尼首次在至少一个场景中使用了"无纸动画"技术。在电影结尾的舞会中,除了野兽和美女仍是手绘之外,其他角色都是用数字方式合成和渲染的。不仔细看的话,是察觉不到电影里真假卡通之间的转换的。而之所以能察觉到这种不连贯,并不是因为数字画面没有手工画得好,恰恰相反,它比传统卡通更逼真。

迪斯尼第一个完全无纸化的角色是《阿拉丁》中那块飞来飞去(走来走去、跳来跳去、指来指去)的毯子。为了制作它,要先在计算机屏幕上绘出一块波斯地毯。动画师通过移动光标为它折出各种姿势,之后由计算机把各个姿势之间的中间帧填上。最后,再将数字化了的毯子动作加入到其他手绘部分的数字版本里面。迪斯尼最新的一部动画片《狮子王》里有好几种动物是按制作《侏罗纪公园》里恐龙的方法由计算机生成的,其中包括一些具有半自动集群行为的飞禽走兽。现在,迪斯尼正在制作他们的第一部完全数字化的动画,这部电影会在1994年下半年上映。它将成为前迪斯尼动画师约翰·拉塞特所从事的工作的活广告。这部电影几乎全部的计算机动画都是由皮克斯公司制作的。这家公司位于加利福尼亚州里齐蒙得市一个翻新的商业园区里,是一家富于创新意识的小工作室。

我顺便拜访了皮克斯公司,想看看他们到底在孵化什么样的人工生命。迄今为止,皮克斯公司已经制作了4部获奖的计算机动画短片,而这4部动画短片的作者都是拉塞特。拉塞特喜欢让一些正常状态下没有生命的东西动起来----自行车、玩具、灯,或是书架上的小摆件。尽管皮克斯公司的电影在计算机图形圈子里被看成是高水平的电脑动画作品,可它的动画部分,绝大部分其实是"手绘"的。只不过拉塞特用于绘画的工具不是铅笔,而是鼠标;他的画板不是木制的,而是计算机屏幕。如果他想要他的玩具士兵变得沮丧起来,他就会在电脑屏幕上调出玩具士兵的一张笑脸,移动鼠标把人物的嘴角拉下来。在端详它的表情后,他可能会认为玩具士兵的眉毛不该垂得这么快,或者眼睛眨得太慢了。于是他再用鼠标拉动这些部位。"我不知道除了这个办法之外,还有什么办法来告诉它要怎样做,才能把嘴变成----比如这个样子,"拉塞特一边说,一边用嘴比了个表示惊讶的o形,"而且比我自己做要更快一点,也更好一些。"

我在皮克斯公司的制作主管拉尔夫·古根海姆那里听到了更多有关人机交互的问题:"绝大多数手工动画师觉得皮克斯公司的做法就是把草图喂进电脑里,然后就出来一部电影。我们曾一度因此而被禁止参加动画电影节。可是,如果我们真的是这么做的话,是不可能创作出这么好的影片的......在皮克斯公司,我们每天遇到的最主要问题其实是计算机对传统动画流程的颠覆。新的流程要求动画师们在动手之前先要描述清楚想要画的东西!"

作为真正的艺术家,动画师们与作家一样,在看到自己的作品之前,往往不知道自己到底想要表达什么。古根海姆反复强调:"动画师们在角色没有画出之前,是不会知道它是什么样的。他们会告诉你,在开始做一个故事的时候会很慢,因为他们要慢慢熟悉他们的角色。之后,随着他们和角色之间越来越熟悉,绘制速度也就越来越快。等到电影完成过半的时候,他们已经很了解这些角色了,而角色们也就开始在画面上神气活现起来。"

在动画短片《小锡兵》中,玩具士兵的帽子上有一根羽毛会非常自然地随着士兵的头摆动。这个效果就是用虚拟物理学或者动画师们称为"拖,拽,摆"的方法达到的。当羽毛的根部移动的时候,羽毛的其他部分会按照弹簧摆的方式来运动----这是个颇为标准的物理学公式。羽毛的确切摇摆方式不是预先设定的,却显得很真实,因为它遵循着摇摆的物理定律。不过,玩具兵的脸完全是由一位经验丰富的动画师人工操纵的。换句话说,这个动画师就是一个替身演员。他扮演角色的方式就是把它画出来。每一个动画师的桌子上都有一面镜子,动画师利用它来画出自己的特有夸张表情。

我问过皮克斯公司的艺术家,他们能不能够想象出一种自动生成的电脑角色----你把粗糙的草图提供给它,然后就出来一个能够自己调皮捣蛋的数码达菲鸭。我得到的回答一概是严肃的否定和摇头。"如果把草图喂进电脑里就能画出好角色来,那这世界上就没有什么蹩脚演员了,"古根海姆说,"但是我们知道并不是所有的演员都是好演员。你随时都能见到一堆模仿猫王和梦露的人。但我们为什么不会被骗倒?因为模仿者的工作其实非常复杂,你得知道什么时候抽动一下哪边的嘴角,话筒又该怎样拿。人类演员做到这一点都不容易,电脑草图又怎么可能做得到呢?"

他们提出的问题就是一个关于控制的问题。事实证明,特效和动画行业就是各种控制狂的天下。在他们看来,演技的微妙之处是如此的细微,只有人类的掌控者才能够引导数字角色或者手绘角色做出它们的选择。他们是对的。

不过,将来他们就不再是正确的了。如果电脑的运算能力像现在这样继续增强下去,在5年之内,我们就可以看到合成出来的角色在电影中担当主角,他们不仅仅身体是合成出来的,行为举止也是合成出来的。

在《侏罗纪公园》中,那些合成的恐龙其逼真度已经达到了近乎完美的程度。从视觉上说,这些恐龙的肉身已经跟我们所期待的那种直接拍摄下来的恐龙没有什么区别了。目前,许多数字特效实验室都在汇集那些可以用来制作出逼真的数字化人类演员的元素。某个实验室专攻数字化的头发,另一个则把精力集中在手部动作上,第三个则专注于面部表情的生成。事实上,现在已经有数字角色加入到好莱坞的电影里面了(而且没有人察觉得到),比如说,一个要求有人在远处移动的合成场景。不过,做出真实衣物那种自然褶皱悬垂的效果,还是一个挑战;如果不能做到尽善尽美的话,就会让虚拟的人物显得呆板。不过在开端阶段,数字角色只会被用来完成危险的特技,或者是插入到复合场景之中----但仅给长镜头或者群众场面,而不会是吸引观众注意力的特写镜头。制作以假乱真的虚拟人物形态虽然棘手,但已经近在咫尺了。

而模拟出以假乱真的人物行动则要更远一些。尤其难的是让面部动作达到以假乱真的程度。据图形专家们说,这个领域中的最后堡垒就是人物的表情。控制人物的脸部活动将会是一场攻坚战。

16.3没有实体的机器人

在位于旧金山工业区的克洛萨尔图像工作室,布莱德·格拉夫正在进行仿造人类行为的工作。克洛萨尔是一个鲜为人知的特效工作室,很多著名电视动画广告的幕后都有它的身影。克洛萨尔还为mtv制作过名为《流动的电视》的先锋动画系列。这些动画片由一些粗线条的形象----骑摩托的落魄布偶、栩栩如生的动画剪纸以及坏小子瘪四和猪脑等----领衔主演。

格拉夫的工作室落户在一间重新装修过的仓库里,很拥挤。在几间灯光黯淡的大屋子里,二十几台巨大的显示器闪烁不已。这是一个20世纪90年代的动画工作室。计算机都是由硅谷图形公司制造的强力图形工作站,上面闪烁着项目不同阶段的图像,其中包括一个完全计算机化了的摇滚明星彼得·盖布瑞尔的半身像。计算机对盖布瑞尔的头型以及脸部进行扫描和数字化,再拼接到虚拟的盖布瑞上去,用来替代他在音乐录影带中的真身。这些事情能在录音棚或者舞池里就完成,谁还会费那个劲在摄像机面前跳舞呢?我看着一个动画师摆弄这个虚拟明星。当时她正要通过拖动光标来提起盖布瑞尔的下巴,好让他的嘴巴合上。"糟了。"她发出一声惊叹,刚才她的动作稍微大了些,结果盖布瑞尔的下嘴唇提得太高穿过了他的鼻子,扯成了一副难看的鬼脸。

我去格拉夫的工作室是想见一见莫西:第一个完全计算机化的动画人物。在显示器上看,莫西看起来就像一只卡通狗。他有一个大鼻子,一只被啃了的耳朵,戴着白手套的手,还有"橡皮管"一样的手臂。他还有非常滑稽的声音。当时他的动作还没画好。这些动作是从一个人类演员的动作中提取出来的。在房间的一角,有一个自制的虚拟现实装置"瓦尔多"。所谓瓦尔多(名字取自一个老科幻小说中的人物)是一种可以让人远距离操纵木偶的装置。第一个以这种方式完成的计算机动画是带有试验性质的《科米蛙》,它是用一个手掌大小的瓦尔多装置画出来的。而莫西则是一个拥有完整身体的虚拟角色,一个虚拟木偶。

当动画师想让莫西跳舞的时候,他就会戴上一顶黄色的头盔。盔顶有一个用胶带固定的小棍,小棍的末端是一个位置传感器。随后,动画师在肩膀和胯部也捆上传感器,然后再拎起两个泡沫板裁成的巨型卡通手----其实是手套。他一边跳舞一边挥动这两只手----那上面也有位置传感器。于是,卡通狗莫西也在屏幕上它那个古怪的桃木屋里亦步亦趋地舞起来。

莫西最擅长的把戏就是可以自动地对口型。把录制好的语音输入到一个算法中,这个算法可以计算出莫西的嘴唇应该怎么动,然后牵动它们。工作室的高手总是让莫西用别人的声音说各种气人的话。其实,让莫西动起来的方法有很多。旋转拨盘,敲命令,移动光标,甚至用算法生成某种自主行为,都能让莫西动起来。

格拉夫和其他动画师下一步想做的事情是:赋予莫西这样的角色某些基本动作----起立、趴下、负重,这些基本动作可以组合成连贯逼真的活动。然后就可以应用到复杂的人类角色上去了。

如果时间足够充裕的话,今天的计算机勉强能进行人类动作的计算。但是,要想进行实时计算,就像你的身体在真实生活中那样随机应变,这种仿真几乎是无法计算的。人体大概有200个运动点。这200个运动点所能做出的动作姿态其数量基本上是天文数字。单单是个抠鼻子的实时动作,所需要的计算量就已经超过了我们现在所拥有的大型计算机的能力。

而人类动作的复杂性还不仅仅于此,因为身体的每一个姿势都可以通过多种不同的途径来达到。当我把脚伸到鞋里去的时候,我要通过小腿、脚以及脚趾的数百个动作的配合引导腿精确完成整个运动。事实上,我的四肢在走路时所完成的动作顺序是如此地复杂,以至于有足够的余地允许用上百万种不同的方式去完成它。通常,熟人在一百尺开外不用看我的脸就能把我认出来,完全是因为我走路时无意识地使用了惯用的腿部肌肉。模仿他人的动作组合是非常困难的。

那些试图让人工形象模拟人类动作的研究者们很快认识到那些制作兔八哥和猪小弟的动画师们早就知道的事情:就动作而言,某些联接顺序会比其他联接顺序显得更"自然"。当兔八哥伸手去拿胡萝卜的时候,它的手臂伸向胡萝卜的路径更像人类的手臂运动(当然,兔八哥的行为不是模仿自兔子,而是人),并且与各个部位动作的前后时机也很有关系。一个动画形象即使按照人类的正确顺序来行动,如果它甩膀掀胯的相对速度跟不上节奏,仍会显得很机械。人类大脑能够轻易地识别出这种赝品。所以说,时机的掌握是动作的又一个复杂面。

创造人工动作的早期尝试迫使工程师们对动物的行为进行研究。为了建造一个能够在火星上漫游的多腿车,研究者们对昆虫进行了研究,其目的不是为了学会如何做出一条腿来,而是要搞清楚昆虫是如何实时协调六条腿的动作。

在苹果电脑公司的实验室中,我曾经看到一位计算机图形学专家翻来覆去地播放一段猫走路的录像来分解它的动作。这盘录像带,以及一堆关于猫的四肢本能反射的科学论文,能够帮助他提炼出猫走路的风格。然后他打算把这个风格植入到一个计算机化的虚拟猫里。而他的终极目标则是提取出某种具有普遍性的四足运动模式,在相应调整后可以用到狗、豹子、狮子或者随便什么东西上去。他根本不关心这些动物的外形;他的模型就是一些粗线条的形象。他关心的是如何组织复杂的腿、踝、脚部的动作。

麻省理工学院媒体实验室的戴维·塞尔彻带着一帮研究生研发出了一种能够在不平的地面上"自己"走动的粗线条形象。这些形象很简单----一条线段做躯干,四条线段是四条腿,连在躯干上。学生们为这个"小活物"设定好一个方向,它就挪动步子,探明哪儿高哪儿低,并随之调整自己步伐的长短,迈步前进。结果就生成了一个生物走过崎岖地带的逼真图像。与我们看到的"哔哔鸟"动画不同,在这个片子里,动物何时搬动哪条腿,不是由人来决定的。从某种意义上说,是这个角色自己做出了决定。塞尔彻团队后来还在他们的世界里加入了六条腿的能自动行走的"小活物",甚至还弄出了一个会到山谷里逛一圈再回来的两腿生物。

塞尔彻的学生还组装了一个能够自己走路的卡通形象,叫"柠檬头"。柠檬头走起路来要比那些线条形象更真实也更复杂,因为它的行动需要更多的身体构件和关节支持。它可以非常逼真地绕过躺倒的树干之类的障碍。柠檬头启发了塞尔彻实验室的另外一个学生史蒂文·斯特拉斯曼,他想试试在设计行为库上到底能走多远。基本的想法就是给柠檬头这样的通用角色提供一本收集有各种动作和姿势的"剪贴簿"。想要擤鼻涕?行,这有一整张碟的动作可选。

斯特拉斯曼想用简单易懂的英语来指导角色。你只要告诉它做什么,它就会从"行为库"里找到一组合适的素材,然后再按照恰当的次序把它们组成一个合理的动作。比如说,你告诉它站起来,它就会知道应该先把自己的脚从椅子下面移出来。"瞧,"斯特拉斯曼在演示开始前提醒我说,"这家伙写不了奏鸣曲,但它能坐在椅子上。"

斯特拉斯曼启用了两个角色,一个叫约翰,一个叫玛丽。故事发生在一个普通房间里;视角是从天花板的某个倾角俯视的----这多少有点神之俯视的意味。斯特拉斯曼管这个叫作"桌面剧场"。这对夫妇在戏中时不时会发生口角。而斯特拉斯曼这次是要来一场两人分手的戏。他是这么输入的:"这一幕里,约翰发火了。他很粗暴地把书递给了玛丽,但是她没接。他把书摔在了桌子上。就在约翰瞪着玛丽的当儿,玛丽站了起来。"写完他就按下了播放键。

计算机先是想了几秒钟,然后屏幕上的角色们就开演了。约翰皱起了眉毛,他递书的那个动作非常僵硬;他攥紧了拳头。玛丽忽然站了起来。结束。没什么出彩的地方,他们的行动也不太像人的动作。要抓住那些转瞬即逝的姿势并不容易,因为他们的动作并不能引起观众的注意。看的人也没什么参与感,就只知道,在这个房间里有两个人按照上帝设计的脚本互动了一下。

"我这个导演很执着,"斯特拉斯曼说,"如果我不喜欢某个场景的效果,就让他们再来一遍。"于是,他又输入了一段替代剧情:"这一幕里,约翰觉得难过。他左手拿着书。他温柔地把书递给玛丽,但她很有礼貌地拒绝了。"角色们按照这个剧本又演了一次。

难点在于人物动作的微妙之处。"我们拿起电话的方式会跟我们拿起一只死耗子的方式不一样,"斯特拉斯曼说,"我可以储存不同的手部动作,但难办的是不知道什么东西支配着这些动作。掌管这些选择的部门又是从哪里冒出来的呢?"

塞尔彻和他的同事迈克尔·麦肯纳从粗线条形象和柠檬头那里吸取了经验,开始给六条腿的小生物添枝加叶,把它变成一只邪恶的金属铬蟑螂,让这个小昆虫成为有史以来最古怪的一部计算机动画片中的明星。他们开玩笑地把这部短片叫作"咧嘴笑的邪恶死神"。这部片子长五分钟,主要讲述了一只来自外太空的金属巨虫入侵地球并摧毁了一座城市的故事。这个故事虽然无聊,但是故事的主角,那个六腿怪物,却是世界上第一只"小活物"----一只内部驱动的人造动物。

当这只奇大无比的铬蟑螂在街上爬行时,它的行为是"自由的"。程序员告诉它"走过这片建筑",计算机里的虚拟蟑螂就会设法搞明白它的腿应该如何动作,它的躯干应该转动到什么角度,然后煞有其事地扭动着爬过一座5层高的砖房。程序员给这只大虫子的只是行动的目标,而不是动作的指令。从楼上下来时,一股人工重力会对这个巨大的机器蟑螂形成一种牵引,让它往下掉。当它掉下来的时候,模拟的重力和模拟的表面摩擦力会让它的腿像在现实中那样反弹和打滑。这只蟑螂不需要它的导演们为它繁琐的腿部动作伤脑筋就能把动作做好。

人们正在尝试更进一步的自主虚拟角色:提取出巨型蟑螂那自下而上的行为引擎,为它包裹上侏罗纪恐龙的迷人外壳,就得到了一个数字电影演员。给这个演员上紧发条,给它分配充足的计算机周期,再像指导真人演员那样对它进行指导。程序员只要给它下达一些通用的指令----如"去找吃的",它就会自己弄明白如何通过协调自己的肢体来完成指令。

当然,造梦并不是那么容易的事情。移动只是行动的一个方面。仿真生物除了移动之外,还必须寻找路线,表达情感,做出反应。为了创造出不仅仅会走路的生物,动画师们(还有机器人研究者们)需要找出办法来培育出所有类型的自然行为。

16.4行为学架构中的代理

20世纪40年代,欧洲著名的动物观察三人组----康拉德·劳伦兹、卡尔·冯·弗里希和尼可·丁柏根开始描述动物行为背后的逻辑。劳伦兹在家里养了一群鹅,冯·弗里希住在蜂窝环绕的房屋里,丁柏根则天天跟棘背鲈鱼和海鸥呆在一起。通过严谨而巧妙的实验,三位动物行为研究者把动物的滑稽行为归纳成值得尊敬的学科----"动物行为学"(粗略地说,就是研究行为特性的科学)。1973年,他们因为这一开创性的成就共同获得了诺贝尔奖。后来,当漫画师、工程师还有计算机科学家深入研究有关动物行为的文献时,他们非常惊讶地发现这三位行为学家早已建立起了一套非常好的行为框架,完全可以直接拿过来就用到计算机上。

行为学架构的核心是"去中心化"这样一个关键概念。正如丁柏根在他1951的著作《昆虫研究》(thestudyofinsect)中指出的,动物行为是一种去中心化协同,它将许多独立的动作(驱动)中心像盖房子一样搭建到一起。有些行为模块是由反射现象组成的;它们能调用一些简单的功能,比如遇热时回缩,或者被触碰时闪避。这些反射现象既不知道自己所处的位置,也不知道外界在发生什么事,甚至不知道它们所附属的这个身体当前的目标是什么。无论什么时候,只要出现适当的刺激,它们就会被触发。

雄性鳟鱼会本能地对下面这些刺激因素做出反应:一条已经到了交尾期的雌性鳟鱼,一条游到附近的虫子,一个从身后袭来的捕食者。但是,当这三种刺激因素同时出现的时候,捕食者模块总是会压制交配或者进食本能,抢先反应。当不同的行为模块之间或多个同时出现的刺激之间出现冲突的时候,就有某种模块被激活以做出决策。比如说,你正在厨房里,两手弄得很脏,这时候电话响了,同时外面又有人敲门。在这种情况下,那些相互冲突的冲动----赶快去接电话!不,先擦干净手!不,得冲到门口去!----就可能使你手足无措,除非这时有另外一个后天习得的行为模块进行仲裁,也许就是这个模块让你喊出一声:"请等一下!"

从一个更积极的角度来看待丁柏根所说的驱动中心,这种驱动中心相当于某种代理。代理(不管它是什么物理形式)侦测到一个刺激,然后做出反应。它的反应,或者按计算机行话说是"输出",在其他模块、驱动中心或代理看来可能是输入。一个代理的输出可能使其他模块处于能动状态(拉开撞针),或者激活处于能动状态的其他模块(扣动扳机),或者还可能取消邻近模块的能动状态(关闭撞针)。同时做揉肚子和拍头动作相当困难,因为出于某种未知的原因,其中一个动作压制另一个动作。通常,一个输出信息可能会在激活某些中心的同时抑制其他中心。显然,这是一个网络的架构,充斥着大量的循环因果关系和首尾相衔的怪圈。

外在行为就这样从错综复杂的盲目反射中涌现出来。由于行为源头的分布式特性,底层最简单的代理也能在上层产生意料之外的复杂行为。猫的身上并没有什么中心模块去决定这只猫挠自己的耳朵或者舔自己的爪子。相反,这只猫的所作所为是由独立的"行为代理"----即各种反射----构成的乱麻般的网络决定的,这些代理彼此交叉激活,构成一个总体的行为模式(就是称为舔或挠的动作),从这个分布式的网络中冒了出来。

听起来这跟布鲁克斯的包容结构非常相似。它其实就是一种包容结构!动物就是能够正常运作的机器人。支配动物的去中心化、分布式控制在机器人和数字生物身上同样适用。

在计算机科学家的眼里,行为学教科书上那些相互连接的行为模块网络图,其实就是计算机的逻辑流程图。得出的结论是:行为是可以电脑化的。通过对子行为进行安排,任何人格特征都能够编成程序。从理论上来说,动物所具有的任何情绪,任何微妙的情感反应,都可以用计算机来生成。用来支配机器人罗比的那种自下而上的行为管理机制也可以用来支配银幕上的生物,而这也正是从活生生的燕雀和棘背鱼那里借鉴来的机制。与燕雀歌唱和鱼儿摆尾所不同的是,分布式系统吞吐着数据,让计算机屏幕上的大腿动起来。这样,银幕上的自主动画角色就可以按照和真正动物一样的一般组织规则来行动。尽管是合成的,它们的行为却是真实的(或者至少是超真实的)。因而可以说,动画人物就是没有实体的机器人。

能够被编程的远不只是动作。性格也同样可以被封装到数字里。沮丧、兴奋还有愤怒都可以作为模块添加到造物的操作系统中。某些软件公司销售的恐惧情感程序会比其他公司的好。也许,他们还会销售"关联式恐惧"----这种恐惧不仅仅表现在生物的身体上,还会渗入到一连串的情感模块中,并随时间的流逝而逐渐消散。

16.5给自由意志强加宿命

行为想要自由,可如果要为人类所用,人工生成的行为就需要受到监管和控制。我们希望机器人罗比或者兔八哥能够在不需要我们监管的情况下自行完成任务。与此同时,罗比或兔八哥所做的事情并不都是有成效的。我们怎么才能向机器人、或者没有实体的机器人、或者任何一种人工生命颁发自由行动的许可证,同时还继续引导它们成为对我们有用的东西?

卡内基梅隆大学关于互动文学的研究项目出人意料地揭示出这个问题的部分答案。该项目的研究员约瑟夫·贝茨虚构了一个叫作"奥兹"的世界,这个世界多少有点类似史蒂文·斯特拉斯曼创造的那个居住着约翰和玛丽的小房间。在奥兹中有各种角色,一个物理环境,还有一个故事----跟古典戏剧中的三元素完全一样。在传统戏剧中,故事讲述着角色和环境。不过,在奥兹中,这种控制关系略微颠倒过来;在这里,角色和环境影响着故事。

创造奥兹的目的就是为了好玩。这个奇幻虚拟世界中聚居着自动机器人和受人类控制的角色。游戏的目的是让人们参与创建这个环境、故事以及其中的自动机器人,既不会破坏故事情节,又不仅仅是个旁观者。为这个项目出谋划策的戴维·塞尔彻举了一个非常好的例子来作说明:"假设我们为你提供一个数字版的《白鲸》,没有理由不让你在裴廓德号上拥有一个小舱。你可以跟正在追踪白鲸的大副斯达巴克聊天。故事有足够的空间让你参与进去,也用不着去改情节。"

奥兹世界涉及了三个控制研究的前沿领域:

◎如何组织一个既允许一定偏离又围绕着既定结局的故事?

◎如何构建一个能产生意外事件的环境?

◎如何创造自主但又受节制的生物?

我们从史蒂文·斯特拉斯曼的"桌面剧场"来到了约瑟夫·贝茨的"计算戏剧"。贝茨想象的是一种具有分布式控制的戏剧。故事变成了某种类型的共同进化,这种进化也许只有外部的边界是预先设定的。你可以进入《星际迷航》的某一幕里施加影响以形成另一条故事线索;你也可以跟合成的堂吉诃德把臂同游,共同面对新的狂想。贝茨本人最关心的是人类用户对奥兹的使用体验。对于他的课题,他是这么说的:"我研究的问题是,怎样在不剥夺用户自由的情况下,给他们设定某种结局?"

我对控制的未来的探寻是从被造物而不是造物主的角度出发的,因此我把贝茨的问题改为:怎样在不剥夺人工生命角色自由的情况下,给它设定某种结局?