第十六章 控制的未来 16.3 没有实体的机器人
在位于旧金山工业区的克洛萨尔图像工作室,布莱·德·格拉夫正在进行仿造人类行为的工作。克洛萨尔是一个鲜为人知的特效工作室,很多著名电视动画广告的幕后都有它的身影。克洛萨尔还为MTV制作过名为《流动的电视》的先锋动画系列。这些动画片由一些粗线条的形象——骑摩托的落魄布偶、栩栩如生的动画剪纸以及坏小子瘪四和猪脑等等——领衔主演。
格拉夫的工作室落户在一间重新装修过的仓库里,很拥挤。在几间灯光黯淡的大屋子里,二十几台巨大的显示器闪烁不已。这是一个二十世纪九十年代的动画工作室。计算机都是由硅谷图形公司制造的强力图形工作站,上面闪烁着项目不同阶段的图像,其中包括一个完全计算机化了的摇滚明星彼得·盖布瑞尔的半身像。计算机对盖布瑞尔的头型以及脸部进行扫描和数字化,再拼接到虚拟的盖布瑞上去,用来替代他在音乐录影带中的真身。这些事情能在录音棚或者舞池里就完成,谁还会费那个劲在摄像机面前跳舞呢?我看着一个动画师摆弄这个虚拟明星。当时她正要通过拖动光标来提起盖布瑞尔的下巴,好让他的嘴巴合上。“糟了。”她发出一声惊叹,刚才她的动作稍微大了些,结果盖布瑞尔的下嘴唇提得太高穿过了他的鼻子,扯成了一副难看的鬼脸。
我去格拉夫的工作室是想见一见莫西:第一个完全计算机化的动画人物。在显示器上看,莫西看起来就像一只卡通狗。他有一个大鼻子,一只被啃了的耳朵,戴着白手套的手,还有“橡皮管”一样的手臂。他还有非常滑稽的声音。当时他的动作还没画好。这些动作是从一个人类演员的动作中提取出来的。在房间的一角,有一个自制的虚拟现实装置“瓦尔多”。所谓瓦尔多(名字取自一个老科幻小说中的人物)是一种可以让人远距离操纵木偶的装置。第一个以这种方式完成的计算机动画是带有试验性质的《科米蛙》,它是用一个手掌大小的瓦尔多装置画出来的。而莫西则是一个拥有完整身体的虚拟角色,一个虚拟木偶。
当动画师想让莫西跳舞的时候,他就会戴上一顶黄色的头盔。盔顶有一个用胶带固定的小棍,小棍的末端是一个位置传感器。随后,动画师在肩膀和胯部也捆上传感器,然后再拎起两个泡沫板裁成的巨型卡通手——其实是手套。他一边跳舞一边挥动这两只手——那上面也有位置传感器。于是,卡通狗莫西也在屏幕上它那个古怪的桃木屋里亦步亦趋地舞起来。
莫西最擅长的把戏就是可以自动地对口型。把录制好的语音输入到一个算法中,这个算法可以计算出莫西的嘴唇应该怎么动,然后牵动它们。工作室的高手总是让莫西用别人的声音说各种气人的话。其实,让莫西动起来的方法有很多。旋转拨盘,敲命令,移动光标,甚至用算法生成某种自主行为,都能让莫西动起来。
格拉夫和其他动画师下一步想做的事情是:赋予莫西这样的角色某些基本动作——起立、趴下、负重,这些基本动作可以组合成连贯逼真的活动。然后就可以应用到复杂的人类角色上去了。
如果时间足够充裕的话,今天的计算机勉强能进行人类动作的计算。但是,要想进行实时计算,就像你的身体在真实生活中那样随机应变,这种仿真几乎是无法计算的。人体大概有200个运动点。这200个运动点所能做出的动作姿态其数量基本上是天文数字。单单是个抠鼻子的实时动作,所需要的计算量就已经超过了我们现在所拥有的大型计算机的能力。
而人类动作的复杂性还不仅仅于此,因为身体的每一个姿势都可以通过多种不同的途径来达到。当我把脚伸到鞋里去的时候,我要通过小腿、脚以及脚趾的数百个动作的配合引导腿精确完成整个运动。事实上,我的四肢在走路时所完成的动作顺序是如此地复杂,以至于有足够的余地允许用上百万种不同的方式去完成它。通常,熟人在一百尺开外不用看我的脸就能把我认出来,完全是因为我走路时无意识地使用了惯用的腿部肌肉。模仿他人的动作组合是非常困难的。
那些试图让人工形象模拟人类动作的研究者们很快认识到那些制作兔八哥和猪小弟的动画师们早就知道的事情:就动作而言,某些联接顺序会比其他联接顺序显得更“自然”。当兔八哥伸手去拿胡萝卜的时候,它的手臂伸向胡萝卜的路径更像人类的手臂运动(当然,兔八哥的行为不是模仿自兔子,而是人),并且与各个部位动作的前后时机也很有关系。一个动画形象即使按照人类的正确顺序来行动,如果它甩膀掀胯的相对速度跟不上节奏,仍会显得很机械。人类大脑能够轻易地识别出这种赝品。所以说,时机的掌握是动作的又一个复杂面。
创造人工动作的早期尝试迫使工程师们对动物的行为进行研究。为了建造一个能够在火星上漫游的多腿车,研究者们对昆虫进行了研究,其目的不是为了学会如何做出一条腿来,而是要搞清楚昆虫是如何实时协调六条腿的动作。
在苹果电脑公司的实验室中,我曾经看到一位计算机图形学专家翻来覆去地播放一段猫走路的录像来分解它的动作。这盘录像带,以及一堆关于猫的四肢本能反射的科学论文,能够帮助他提炼出猫走路的风格。然后他打算把这个风格植入到一个计算机化的虚拟猫里。而他的终极目标则是提取出某种具有普遍性的四足运动模式,在相应调整后可以用到狗、豹子、狮子或者随便什么东西上去。他根本不关心这些动物的外形;他的模型就是一些粗线条的形象。他关心的是如何组织复杂的腿、踝、脚部的动作。
麻省理工学院媒体实验室的戴维·塞尔彻带着一帮研究生研发出了一种能够在不平的地面上“自己”走动的粗线条形象。这些形象很简单——一条线段做躯干,四条线段是四条腿,连在躯干上。学生们为这个“小活物”设定好一个方向,它就挪动步子,探明哪儿高哪儿低,并随之调整自己步伐的长短,迈步前进。结果就生成了一个生物走过崎岖地带的逼真图像。与我们看到的“哔哔鸟”动画不同,在这个片子里,动物何时搬动哪条腿,不是由人来决定的。从某种意义上说,是这个角色自己作出了决定。塞尔彻团队后来还在他们的世界里加入了六条腿的能自动行走的“小活物”,甚至还弄出了一个会到山谷里逛一圈再回来的两腿生物。
塞尔彻的学生还组装了一个能够自己走路的卡通形象,叫“柠檬头”。柠檬头走起路来要比那些线条形象更真实也更复杂,因为它的行动需要更多的身体构件和关节支持。它可以非常逼真地绕过躺倒的树干之类的障碍。柠檬头启发了塞尔彻实验室的另外一个学生史蒂文·斯特拉斯曼,他想试试在设计行为库上到底能走多远。基本的想法就是给柠檬头这样的通用角色提供一本收集有各种动作和姿势的“剪贴簿”。想要擤鼻涕?行,这有一整张碟的动作可选。
斯特拉斯曼想用简单易懂的英语来指导角色。你只要告诉它做什么,它就会从“行为库”里找到一组合适的素材,然后再按照恰当的次序把它们组成一个合理的动作。比如说,你告诉它站起来,它就会知道应该先把自己的脚从椅子下面移出来。“瞧,”斯特拉斯曼在演示开始前提醒我说,“这家伙写不了奏鸣曲,但它能坐在椅子上。”
斯特拉斯曼启用了两个角色,一个叫约翰,一个叫玛丽。故事发生在一个普通房间里;视角是从天花板的某个倾角俯视的——这多少有点神之俯视的意味。斯特拉斯曼管这个叫做“桌面剧场”。这对夫妇在戏中时不时会发生口角。而斯特拉斯曼这次是要来一场两人分手的戏。他是这么输入的:“这一幕里,约翰发火了。他很粗暴地把书递给了玛丽,但是她没接。他把书摔在了桌子上。就在约翰瞪着玛丽的当儿,玛丽站了起来。”写完他就按下了播放键。
计算机先是想了几秒钟,然后屏幕上的角色们就开演了。约翰皱起了眉毛,他递书的那个动作非常僵硬;他攥紧了拳头。玛丽忽然站了起来。结束。没什么出彩的地方,他们的行动也不太像人的动作。要抓住那些转瞬即逝的姿势并不容易,因为他们的动作并不能引起观众的注意。看的人也没什么参与感,就只知道,在这个房间里有两个人按照上帝设计的脚本互动了一下。
“我这个导演很执着,”斯特拉斯曼说。“如果我不喜欢某个场景的效果,就让他们再来一遍。”于是,他又输入了一段替代剧情:“这一幕里,约翰觉得难过。他左手拿着书。他温柔地把书递给玛丽,但她很有礼貌地拒绝了。”角色们按照这个剧本又演了一次。
难点在于人物动作的微妙之处。“我们拿起电话的方式会跟我们拿起一只死耗子的方式不一样,”斯特拉斯曼说,“我可以储存不同的手部动作,但难办的是不知道什么东西支配着这些动作。掌管这些选择的部门又是从哪里冒出来的呢?”
塞尔彻和他的同事迈克尔·麦肯纳从粗线条形象和柠檬头那里吸取了经验,开始给六条腿的小生物添枝加叶,把它变成一只邪恶的金属铬蟑螂,让这个小昆虫成为有史以来最古怪的一部计算机动画片中的明星。他们开玩笑地把这部短片叫做“咧嘴笑的邪恶死神”。这部片子长五分钟,主要讲述了一只来自外太空的金属巨虫入侵地球并摧毁了一座城市的故事。这个故事虽然无聊,但是故事的主角,那个六腿怪物,却是世界上第一只“小活物”——一只内部驱动的人造动物。
当这只奇大无比的铬蟑螂在街上爬行时,它的行为是“自由的”。程序员告诉它“走过这片建筑”,计算机里的虚拟蟑螂就会设法搞明白它的腿应该如何动作,它的躯干应该转动到什么角度,然后煞有其事地扭动着爬过一座5层高的砖房。程序员给这只大虫子的只是行动的目标,而不是动作的指令。从楼上下来时,一股人工重力会对这个巨大的机器蟑螂形成一种牵引,让它往下掉。当它掉下来的时候,模拟的重力和模拟的表面摩擦力会让它的腿像在现实中那样反弹和打滑。这只蟑螂不需要它的导演们为它繁琐的腿部动作伤脑筋就能把动作做好。
人们正在尝试更进一步的自主虚拟角色:提取出巨型蟑螂那自下而上的行为引擎,为它包裹上侏罗纪恐龙的迷人外壳,就得到了一个数字电影演员。给这个演员上紧发条,给它分配充足的计算机周期,再像指导真人演员那样对它进行指导。程序员只要给它下达一些通用的指令——如“去找吃的”——它就会自己弄明白如何通过协调自己的肢体来完成指令。
当然,造梦并不是那么容易的事情。移动只是行动的一个方面。仿真生物除了移动之外,还必须寻找路线,表达情感,做出反应。为了创造出不仅仅会走路的生物,动画师们(还有机器人研究者们)需要找出办法来培育出所有类型的自然行为。