如今,不管是在主机、PC端,还是在掌机乃至手机上,各种游戏在画面的逼真度上已经做得相当不错了;不过,对于常玩游戏的朋友们来说,目前这些游戏在一点上做得还差点意思——游戏中人物的动作过于僵硬、不够自然,有时还会出现让人啼笑皆非的bug。那些静态看上去面相不错甚至是颜值爆表的游戏角色,基本上一动起来,再遇上点障碍物什么的,场面就会变得十分尴尬……
比如:
比如:
再比如:
这也是一直困扰着游戏制作者们的问题。不过最近有个好消息给他们:来自爱丁堡大学和方法工作室(Method Studio)的几位研究者开发出了一套动画系统,利用神经网络,这套系统能让游戏中角色的动作更为自然。
不能否认,现在的一部分优质游戏在描绘人物的动作上做得不错,但这项工作对于游戏制作者来讲是个十分痛苦的过程:他们需要一个极其庞大的动作库,然后根据游戏中的不同场景将每一种可能的动作连接在一起——举个例子,《古墓丽影》里,劳拉用蹲着的姿势爬楼梯时,如果她把背挺起来会怎么样?如果她试着在一根横木上保持平衡时被打了又会是什么效果?这些可能出现的情况实在太多了,留给动画师们的任务也太大了。
现在,Daniel Holden、Taku Komura和Jun Saito等人开发的这个系统有望让这项工作变得更为容易。这个机器学习系统用大量不同种类的动作捕捉片段来进行训练。而后,如果使用者输入“走这条路”的口令并同时将地形因素考虑在内,系统就会输出同时满足这两个条件的动画。
举个例子,人物在慢跑的状态下跳过一个小型障碍物:
动画师们再也不需要将“由跑到跳”的动画做自定义工作,一切都由算法做决定,算法输出的动作变得更加流畅自然,避免了由一个动作到另一个动作的过程中产生的卡顿、跳跃和不自然。虽然目前的许多游戏引擎也能对人物的脚步、复合动作做一点即时反应,但这一系统生成的动作要更为稳定、坚实。
机器学习技术在之前就已经被引入了游戏制作领域。但之前的系统能够搞定的只是一些十分基本的动作,并且因为系统有时候遇到一些场景会短暂懵比,输出的动作常常是错误的,或者会直接跳过某些必要的动作。
为了解决这些问题,研究团队在这个神经网络里加入了相位函数,从根本上避免了系统把那些不同的动画类别错误地混在一起,比如,在跳起的情况下走了一步。
“因为我们的方法是数据驱动的,游戏角色不只是单单地重复某个跳跃动作,它会根据障碍物的高度对自己的动作不断地进行调整。”一位研究者说。
当然,这个系统现在可能还无法被原封不动地应用到游戏当中,但它可能正在开启用人工智能来创造和组合动作的过程,这意味着动画师们要做的枯燥的工作将会更少,同时也意味着游戏中角色的动作看上去将会更为自然。
附Paper:
http://theorangeduck.com/media/uploads/other_stuff/phasefunction.pdf