最高5000倍加速模拟物理世界,育碧在修复bug上又进一步

解决“买游戏送bug”窘境

晓查 发自 凹非寺

量子位 出品 | 公众号 QbitAI

“买bug送游戏”对育碧游戏的玩家来说简直是常态。即使是育碧的当家游戏《刺客信条》、《孤岛惊魂》系列也是bug也是多到令人发指。

比如《刺客信条:大革命》中,主角的脸部建模突然失控,变成一张“滑稽脸”。

又或者是人物总会卡死在奇怪的地方。

最近,育碧蒙特利尔工作室,也就是开发出上面几款游戏的知名工作室,他们的研究员最近提出了一种游戏世界中的物理模拟方法,能够包括模拟布料的飘动和和其他弹性物体的变形。

这种方法结合机器学习,能比之前的标准物理模拟方法快300到5000倍,每秒甚至能模拟3000多帧画面!

文章的第一作者Daniel Holden在Twitter上公布了这项研究后,不少育碧玩家表示非常期待。

效果

研究人员在不同场景中模拟了不同物体在外力作用下的变形。

球在撞击一只兔子:

人物在跳动的时候,斗篷和裙子如何随风飘动:

然而在实际的游戏场景中,发生变化的物体可能不止一个,所以育碧还进行了压力测试。让几百只兔子在同一幅画面中被挤压撞击,还有16个人一起在画面中跳舞,观察斗篷的变化。

每个测试都能在120FPS和240FPS的帧速率独立模拟运行。

原理

这种方法的核心思想是将神经网络与子空间模拟相结合,产生一个可以完全在模拟子空间中运行的模拟步骤,并且能同时与外部对象进行交互。

作者使用Maya软件的nCloth离线获取训练数据X和Y,执行PCA获得压缩的表征Z和W。然后将Z和W输入神经网络φ进行训练,预测z*的压缩状态、给定对象z的先前状态zt-1,以及外部对象的压缩状态w*,从模型输出直接计算模拟对象位置x*和法线ñ*,用于渲染。

算法中还包括多种优化,比如高效的GPU解压缩算法和顶点法线逼近方法。

这种方法一个重要的优势是它的性能,运行速度更快,内存占用更少。下表列出了,它与其他方法的对比。结果证明,该方法相比标准模拟方法中实现了~300×到~5000倍的加速。即使与其他最先进的方法(如HRPD)相比,它也具有良好的性能。

以上所有性能测试均是在Intel Xeon E5-1650 3.5 GHz CPU和GeForce GTX 1080 Titan GPU上进行。

当然,育碧最后还是逃不过bug的命运。这套方法也并非没有局限性,如果某些参数过大,仍然会产生错误的模拟结果。

前面演示的小球碰撞布料的模拟,如果小球的速度足够快,就能直接穿过去,好像布料完全不存在一样。

论文地址:

http://theorangeduck.com/media/uploads/other_stuff/deep-cloth-paper.pdf

— 完 —

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ’ᴗ’ ի 追踪AI技术和产品新动态

版权所有,未经授权不得以任何形式转载及使用,违者必究。