动态运动合成软件
2014-11-28尚冰
摘要:Endorphin动态运动合成系统是基于人工智能控制器来模仿人体神经系统的角色动画模拟软件,它不依赖传统关键帧和动作捕捉技术就可让3D角色产生互动行为或按照设定的状态自行产生真实的动作,并可在实时状态下对角色的运动进行合成,这在游戏角色动画制作领域具有极高的实用价值。文章主要从Endorphin的原理、功能、传统动作捕捉存在的问题以及Endorphin在游戏动画制作域的应用等几个方面进行了探讨。
关键词:动态运动合成软件;动作捕捉;Endorphin;Euphoria;游戏实时动画技术
中图分类号:TP30 文献标识码:A 文章编号:1009-2374(2014)34-0050-03
在3D游戏角色动画制作领域,动作捕捉代表着当今游戏角色动画制作技术的主流,但这种基于硬件的传统动作捕捉系统在游戏角色动画制作领域中存在的问题也是显而易见的。Natural Motion公司的Endorphin动态运动合成软件的出现为游戏角色动画制作的发展提供了新的方向,其在技术上极具创新性,它无需任何特殊硬件设备,采用革命性的人工智能和生物力学、遗传算法技术,赋予角色拟真的动作及互动模拟,实时产生骨骼运动轨迹和动画数据,达到完全由软件“捕捉”运动的效果。
Endorphin软件等同于建立了一个物理模拟系统,并给系统里的虚拟角色配置了高端的人工智能和生物特性,使其在不同情况下表现得如同动作捕捉系统中的演员一般,这极大地缩短了游戏角色动画制作的时间,降低了游戏的制作成本。以发展的眼光看,这种智能化的实时角色动画生成技术将会彻底取代传统的动作捕捉
技术。
1 动态运动合成软件——Endorphin的原理
基于动态运动合成技术的Endorphin软件是以牛津大学生物学院对人和动物的运动控制研究为基础,采用遗传算法,通过建立一个具有真实物理属性和生物特性的角色模型,赋予它一套仿真的神经网络系统,再设定希望得到的目标行为。然后模拟自然界生物优胜劣汰的进化过程,采用人工进化的方法,连续筛选出最为接近目标行为的若干段程序码,变异组合后,产生下一代程序码,经过数代“繁殖”、“进化”后,得到最优的程序码即可生成实时并且是符合要求的自适应行为。传统制作角色动画的方法是固定,场景的改变不会对它们的动作产生任何影响,而Endorphin软件的虚拟角色可对环境的感知做出反应,这如同人类一样可以根据场景或环境的改变产生自适应行为,动画师所要做的就是给它下达命令而已。
Endorphin软件中产生的三维角色动画完全是交互式的。它的自适应人工智能行为列表中有众多的可选行为,如爆炸、跳跃、翻滚、行走、跑步等,每种行为又有不同的表现。你也可以实现同时对多角色的控制,让每个角色拥有独立的行为和姿势,并让他们互相阻挡、推挤、打斗,且每个角色的行为都是实时的。
2 传统动作捕捉技术在3D游戏动画制作中存在的问题
传统动作捕捉技术在游戏角色动画制作中存在诸多局限性,表现在以下五个方面:
2.1 动画数据的平滑问题
在游戏动画领域,动画数据的平滑是一个仍未解决的难题。游戏角色动画本应是互动的,但游戏里的3D动画是由多段短小的预制动画拼接而成,多段动画拼接时,角色的姿态不能很好地衔接,这也就是在3D游戏里角色动画不连贯的原因。
2.2 目标重新设置的问题
3D游戏里基本上是把一套动作捕捉数据运用到不同的角色上,比如捕捉一套足球射门的动作来驱动游戏里所有球员的射门,当游戏角色与动作捕捉的演员体型差异较大时,就会发生球员脚碰不到球或脚伸入足球里等错误现象。
2.3 动作捕捉的场地和对象限制
有些运动并不适合在动作捕捉工作室中进行,如赛马、跳伞等运动。此外,这种捕捉局限于人物和动物,但游戏里的角色可能是恐龙或蚂蚁,你无法让它们作为捕捉的演员。
2.4 安全性的问题
动作捕捉主要是靠人表演,当你需要捕捉演员从高空坠落或是汽车与演员碰撞等动作时,会给捕捉带来意外事故的隐患。
2.5 昂贵的动作捕捉设备和复杂的后期处理
建立动作捕捉工作室需数十台专业摄影机和至少几十平米的大型场地,这使得多数游戏制作公司都无法拥有自己的动作捕捉工作室。再则捕捉速度一般是60帧/秒,捕捉时常出现跟踪球位置重叠或骨骼拓扑结构错乱的现象,要在庞大的数据里找出这些问题需要非常专业的技术人员才能够做到。
3 与传统动作捕捉系统相比,Endorphin软件所具有的优势
与传统传统动作捕捉技术相比,Endorphin可以直接产生骨骼动画数据,其主要优势表现在以下四个方面:
3.1 可实时创建角色动画,产生完整干净的动态数据
Endorphin将人工智能应用到角色生物力学的模拟中,动画可实时调整,制作两个人打斗的动画仅需几分钟,并可产生完美的动态数据,无需要再通过专业人士进行后期清除噪声数据。
3.2 拓展利用现有的动画数据
它可以获取c**、Acclaim(*.asf)、Acclaim(*.amc)、Biovision(*.bvh)和Kaydara FBX(*.fbx)五种文件格式的运动文件,方便地导入3DSMAX中的CS或者Kaydara公司的MotionBuilder软件,进行最终的动画设计和渲染输出。Endorphin 2.52版本就已能输入Vicon动态捕捉器的所捕捉的动态数据,自动平滑处理与Endorphin之间的过渡动画。
3.3 完成传统动作捕捉不可能完成的任务
危险的动作捕捉不能由演员来完成,而Endorphin的演员是虚拟的,能模拟任何危险情况下的动画,比如高空跳楼、撞击等效果。endprint
3.4 Endorphin的“自适应行为”
Endorphin的自适应行为功能,具有互动性,可为3D角色自动添加动画效果。如果将两个足球运动员的角色靠近放置,其中一个球员会自动碰到另一名球员,缠住他的双腿将其拌倒,整个动作非常逼真。
4 Endorphin在游戏角色动画制作中的应用
4.1 Endorphin操作流程
4.1.1 设定虚拟角色。Endorphin可自动生成的角色。Endorphin有两个轨道面板:角色轨道面板与环境轨道面板。在角色轨道点击右键会出现各种行为事件以供选择,如姿态事件、行为事件、约束事件、力事件等。在环境轨道可在场景中创建一些如建筑物、汽车、枪只等物体,并可设置其物理属性。
4.1.2 创建事件。创建事件后,事件以橙色滑块显示在角色轨道,同时上面还有事件名称。滑块可在时间轴上拖动,以调节该事件的时间长度。如选择“胳膊旋转”的行为事件,点击播放按钮后,即可显示虚拟角色胳膊旋转的动画,调节胳膊旋转的各种参数,如肩膀、肘摆动的幅度、速度以及腿和躯干硬度等。播放超过滑块长度后,受到重力影响,虚拟角色自然下垂倒地。如让角色不倒下且有后续行为时,再根据需要添加其他事件,添加其他事件后软件会再次生成一移动滑块,两个滑块连接后,刚才的动作会与这个滑块的动作连接在一起,成为一连串连续动作。动作的连接如果比较生硬,则可再次添加事件,如运动传递事件进行修饰,以使动作连贯、流畅。
4.1.3 执行模拟命令产生动画。
4.1.4 虚拟角色动画数据的导出。将虚拟角色模拟解算后生成动画数据以FBX的格式导出,然后导入到3DSMAX、MAYA或是motionbuilder中。
4.2 Endorphin的事件模块
Endorphin软件一套完整的角色动作模拟依赖于事件的组合。Endorphin的事件模块类似于动作数据库,但不同于一般动作捕捉或是手工制作的动作数据库,这种动作数据库无法形成互动,而Endorphin的事件模块是可以与游戏动画师通过参数的调节进行互动,这种交互式的行为功能,是Endorphin的核心功能。
Endorphin的事件模块中主要有行为事件和其他事件两个部分。行为事件包括平衡事件、挣扎事件、腿部行为、胳膊行为、倒地行为、抱住行为、双手行为、跳跃行为、空中挣扎掉落行为、身体硬度与僵硬、弯曲行为事件、阻尼行为事件。其他事件包括运动过渡事件、力事件、约束事件、姿态事件、运动传递事件、切断事件。事件的众多组合可满足多数情况下游戏动画制作的要求,随着Endorphin新版本的出现,其事件模块功能将更丰富。
4.3 Endorphin在游戏角色动画制作中的功能
Endorphin在游戏动画制作中的功能主要体现在以下五个方面:
4.3.1 可实现高层次交互式动画并实时产生动画数据,用户只需改变设定的参数即可交互式产生新的动画,快速简洁,易于修改和重新制作,无需手工制作动画关键帧那样逐帧设定。与传统动作捕捉方法一样,Endorphin生成的动画也可作为预制动画存储于数据库以被游戏调用,若Endorphin被嵌于游戏系统引擎,预制动画则没有存在的必要,所有动画都可以由Endorphin在游戏中实时生成,且不会重复,也就不存在动画片段间的平滑过渡问题。
4.3.2 高新能显卡支持下,可实现对一个或多个虚拟角色进行模拟,角色的数量无上限;也可以改变虚拟角色的骨骼结构,模拟动物;亦可在场景中放置任何物体,让角色与之碰撞或发生其他接触。
4.3.3 Endorphin内部预制有常见的肢体运动行为,如手触、脚踢物体、跳跃、向前向后摔倒等,而且允许或限制虚拟人某些部位的运动。例如在整个动画过程中,虚拟人的手必须抓住门的扶手或双手握着手枪,这些预制动作极大地方便了游戏动画的制作。
4.3.4 Endorphin可以设置虚拟角色的最终位置和姿势,系统会在模拟过程中尽量往目标靠近,这种规定动画结局的方法能给游戏的开放式设计带来有效的控制。系统允许把模拟的动画和输入的动画混合,这样可以将现有的动画和Endorphin的物理模拟无缝结合,这对动画制作次要的连续变化非常有用。
4.3.5 Endorphin允许用户输入动画和模拟动画混合,这可以将动画师现有的3DSMAX或MAYA动画数据输入到Endorphin中,利用Endorphin物理模拟优势可以节约大量的游戏动画制作时间。
5 游戏角色动画引擎——Euphoria
Natural Motion公司在其核心产品Endorphin产品基础上新开发的Euphoria游戏角色动作引擎,这与只能作为角色动画制作工具的Endorphin有了根本性的
变化。
Euphoria利用CPUs对交互的动画进行合成,不再是基于对已存储的数据进行调用,而是对游戏角色真实肌肉运动和生物力学的快速模拟,它可使游戏动画生成的实时性更强,编程人员不必事先编写角色的反应程序,而是直接由动画引擎通过计算动作力度等多重变量来决定游戏中的角色模型将如何反应,每次的计算结果都会有所不同,因此玩家会体验到与以往不同的独特感觉,游戏中角色的动作就是你本人的动作,而不再是动画数据,游戏中的角色行动起来就好像有中枢神经控制一样的灵敏。
Euphoria将动态动作合成技术运用到Playstation 3、Xbox 360和PC机上,实现了动态动作合成技术镶嵌于游戏引擎,使之能够营造出真实、独特的游戏体验,动画逼真程度可称得上前所未有。这是继3D图像后游戏领域中最大的革新,也是游戏实时动画技术的一次重大突破。
6 结语
Endorphin作为一个可进行动作捕捉模拟的交互式动态运动合成软件,具有实时演算、角色动画自动生成的功能,其剪辑式编辑动画的操作方式改变了人们制作游戏角色动画的传统思维。Endorphin软件尽管受现阶段人工智能和生物仿真技术发展的限制,仍然只是一个制作动画的工具,其产生的自适应行为种类也有限,但Endorphin所采用的技术模式代表着未来游戏角色动画的发展趋势。随着更先进的Euphoria游戏角色动作引擎的出现,使游戏的实时动画技术上升到了一个新的高度,在可见的未来,智能化的实时动画生成技术将在3D游戏动画领域一统天下。
参考文献
[1] 段世梅,孙倩,陈彦明.人体动作捕捉仪的设计与实现[J].中国科技信息,2011,(6).
[2] 珍妮·诺瓦克,糜晓波.游戏设计完全教程[M].上海:上海人民美术出版社,2008.
[3] 郝卫亚.人体运动的生物力学建模与计算机仿真进展[J].医用生物力学,2011,(2).
[4] 沈娟,李建微.动作捕捉中的动画驱动及运动编辑技术综述[J].计算机与数字工程,2008,(3).
[5] 景东,张雨.基于动作捕捉的虚拟运动艺术中生命自然性表达[J].文艺评论,2010,(4).
作者简介:尚冰(1973-),男,安徽人,供职于苏州高博软件职业技术学院,研究方向:三维动画。endprint