看到像《玩具总动员》、《恐龙》之类的三维动画影片时,那逼真的材质,流畅的动作,还有维妙维肖的面部表情,都让我们感叹不已。其中,要说最复杂、最难处理的,恐怕得算表情动画的制作了。表情是心理活动的显化。一个好的演员,不用一句台词也能将人物演绎得性格丰滿,活灵活现;而要虚拟人物来完成这一任务,难度相当大。加上每天我们见到的人也多,这让我们有了准确分辨表情的能力,一个小小的疏忽,也会让虚拟人物的“表演”打上折扣,失去可信度。表情动画也让三维动画师头疼不已。最原始的方法是将面部分解成成百上千个控制点,通过改变点的位置来调节虚拟人物表情。要表现的表情越多,控制点的个数也越多。你可以试想一下,当虚拟人物要说话时,就要在数千个控制点中,选取合适的点,把它们移动到合适的位置;在下一个时间段中,再重复以上操作,调整到正确的表情和口型,直到人物把话说完;而且如果在观看效果的阶段发现嘴张快了或慢了,只好重新调整人物表情,让他在正确的时间里做正确的口型。如果你有耐心,花上一个星期来让虚拟人物令人信服地“说上一段话”也是很正常的:)。科技总是在进步,现在人物的动作和表情也有了数字化的动作传感系统,我们可以得到更为逼真的动作和表情了。但这些动辄数百万元的“昂贵玩具”不是我们这些业余爱好者所能玩得起的。
“硬”的不行,咱们就来软的。能实现傻瓜式表情调节的软件也很多,如POSER加MIMIC插件,有语音声音文件,就可以做出不错的对口型效果。今天,我简单介绍一下的是3DS MAX R4中内置的变形插件——Morpher。 图1 Morpher的工作原理是先根据面部动作的需要,分别做出关键祯上的表情,然后在Morpher中按时间点组合而成。这样,就算原来计算出时间点有误,改起来也方便;不必再重新调节表情,只需删除错误表情,在正确的时间点上再次插入就行了,是不是方便了很多?:) 请输入链接名称! 图2 OK,闲话少说,让我们开始吧。我们要做一个人凶恶地喊一声“What?!”的效果。首先要准备5个头部表情,分别为平静、皱眉发怒、嘴微呈“O”字型(What发音的起始口型,大家可以对照镜子自己发音参考一下)、嘴张大、嘴收扁(“t”的发音口型)。为了节约时间,可以在POSER里调节好后输出成5个3DS格式文件,毕竟我们是在做练习嘛:)。然后,在3DS MAX R4中用File\Import分别调入准备好的5个头部模型,在弹出的对话框中按OK确定就行了。结果如图1所示。在这个练习中要注意的是,除了第一个头部模型以外,其它的模型不需要眼球物体,我们只让Head物体变形就可以了。选中第一个头部表情物体Head,在Modify\Modifier List的下拉列表中,选择Animation Modifiers组中的Morpher,为它加入一个Morpher的修改,如图2所示。我们在参数面板中向上拖动面板,以便露出下面的Channel Parameters栏,点击其下的Pick Object from Scene钮,如图3所示。 22 图3 在屏幕中点取Head01物体,就是我们要的第二个表情:皱眉发怒。这时在Channel List中第一项的“-empty-”也改成了Head01,这表示我们点取成功,第二个表情已加入到Head物体中。现在我们试着改变Head01旁边的值,看看Head物体有什么变化。哈哈!Head的表情随着数值的变化而渐变至Head01的表情!Head01旁边的数值表示当前表情的百分比,0为没有融合当前加入表情,100为完全呈现当前加入表情。是不是有些兴奋?我们有了个好的开始:)。来,我们再把其它几个表情也加入到Head中,让它拥有表现这些表情的能力。不过一个一个点取比较麻烦,我们可以按Channel List下方的Load Multiple Targets钮,在对话框中选取剩下的几个物体。现在Channel List里就有了全部表情,如图4所示。Head物体已经有了所有表情,我们现在可以把Head01至Head04删除了,别让它们在屏幕里碍手碍脚:)。 33 图4 清理一下屏幕,让Head尽可能大地在各视图中显示,再加上几盏灯光,让它有些阴邪的气氛,如图5所示。所有准备都已做好,我们来做动画吧!我们按 ,弹出Time Configuration对话框,调节Length为30,Frame Count为31,这样我们的动画时间总数就为31祯了,见图6。 图5 图6 按OK退出后,按下屏幕下方大大的Animate钮,打开动画记录功能,现在我们所做的一切改变,都将记录为动画。将时间滑块移动到第8祯,在Modify\Channel List中将Head01的值改为100;再将时间滑块移到第16祯上,将Head01的值改为0,Head02的值改为100;继续移动时间滑块到20祯上,将Head02的值改为0,Head03的值改为100;接着移动时间滑块到第24祯上,将Head03的值改为0,Head04的值改为100;最后移动时间滑块到第30祯,将Head04的值改为0,Head01的值改为100,让Head还原到怒目而视的状态。 740)this.width=740" src="http://www.jiaocheng.net/Files/Upfile/200462171836314.gif"> 图7 好了,我们再次按下Animate钮,结束动画记录。基本上,整个动画就制作完成了,按下 ,观察效果。怎么样,Head是不是开口说话了呢?如果发现口型的张闭有些不对劲,请参照以上的关键祯修改Head的表情参数。注意,在关键祯只有一种表情的值为100,其它表情的值为0;还有,一定要按下Animate钮打开动画记录修改才会有效。最后,我们把它渲染成AVI动画。按 钮,打开Render Scene参数对话框,参照图7设置渲染参数,注意要保存文件。最终效果如图8。你也可以参考文初那个avi视频。 44 图8 至此,大功告成,你可以用RAM Player或Windows的媒体播放器来欣赏我们的成果。这个例子没有包含声音,因为那不是这次要讲的内容。如果你想使用声音文件的话,那么关键祯的设定要配合配合声音文件,不能按以上的祯数来设关键祯。Morpher变形还是有些问题,在这个例子中说话时眉毛会不停的抖动,这是因为在不同表情中,眉毛一直是下压的,而在关键祯之间渐变时,一种表情渐变为0,另一种表情渐变为100,眉毛就会渐变至50后又渐变回100,不能固定下来。高手们有什么好的方法解决,还请赐教。 |