当前位置: 首页 > 科技观察

机器学习如何彻底改变游戏中的物理模拟

时间:2023-03-18 01:45:56 科技观察

本文转载自雷锋网。量子力学的奠基人之一、英国理论物理学家保罗·狄拉克在1929年说:“物理学和化学所需的大部分数学理论的定律是已知的,但这些定律的方程式太复杂而无法找到精确解。“他认为所有的物理现象,从蛋白质折叠和材料失效到气候变化,都可以用量子计算来模拟。但控制方程过于复杂,科学家无法在现实的时间尺度上求解。那么,这是否意味着我们永远无法实现实时物理模拟?过去,物理学家可以通过建立模型并获得近似解,在较短的时间内达到预期的结果。然而,随着研究、软件和硬件技术的进步,实时模拟只有在极端条件下才有可能,这在视频游戏物理中表现得最为明显。模拟碰撞、变形、断裂和流体流动等物理现象需要大量计算。在游戏中实时模拟此类现象需要对不同算法进行大量简化和优化。目前最先进的模拟方法是刚体物理,它可以保证两个物体在碰撞和反弹过程中不会变形或断裂,这是模拟虚拟游戏的基础。当两个物体发生碰撞时,该算法能够实时检测并施加适当的力来模拟碰撞。视频游戏中的“毁灭”可能是应用刚体物理的最好例子,如下所示。需要注意的是,刚体物理可以用来模拟不可变形物体的碰撞,但虚拟游戏中往往会出现大量的可变形物体,比如头发、衣服等。要解决这个问题,您需要使用软体动力学。以下是模拟可变形物体的四种方法(按复杂程度排序)1.弹簧-质量模型(Spring-MassModel)从名字上看,弹簧相互连接点的质量系统代表了模型测试的目标.我们可以把它看成是一个三维的胡克定律网络。胡克定律是机械弹性理论中的一个基本定律,表明在受力固体材料中,应力和应变(单位变形)之间存在线性关系。该模型的主要缺点是在构建质量-弹簧网络时需要大量的人力成本,并且材料属性与模型参数之间没有严格的逻辑关系。但尽管如此,该模型在《BeamNG.Drive》赛车游戏中还是取得了非常不错的成绩,如下图所示,基于spring-mass模型的实时车辆模拟器,可以用来模拟车辆变形.2、基于位置的动力学(Position-bsedDynamics,PBD)运动学仿真方法通常是基于力学模型,如根据牛顿第二定律计算质点加速度,通过积分得到各时刻的速度和位置计算。在基于位置的动力学中,通过使用约束方程求解准静态问题来计算位置。PBD方法精度稍差,但计算速度优于基于力的方法,因此非常适用于游戏、动画电影等视觉场景。游戏中人物头发和衣服的运动通常都是使用这个模型来实现的。PBD不仅限于可变形固体,还可以用于模拟刚体对象和流体。更多内容可以在这篇关于PBD方法的综述中找到[2]。3、有限元法(finiteelementmethod,FEM)有限元法计算变形材料,是根据弹性场理论求解应力-应变方程。它本质上遵循3D胡克定律,首先将材料划分为四面体有限元,通过求解线性矩阵方程得到各时间步顶点上的应力和应变。有限元法是一种基于网格的软体动力学仿真方法,其优点是精度高,模型参数与材料特性(如杨氏模量和泊松比)直接相关。一般来说,FEM模拟在工程应用中无法实时运行,但近日知名半导体公司AMD发布了多线程FEM库,表明FEMFX可以在游戏中实时模拟变形材料。AMD的实时有限元求解器FEMFX模拟木材断裂AMD的FEMFX模拟塑性变形4.MaterialPointMethod(MPM)MPM是一种高精度的无网格方法,比基于网格的方法更高效非常适合模拟变形、断裂,多材料系统和粘弹性流体由于更高的操作效率和分辨率。MPM是目前最先进的无网格混合Eulerian/Lagrangian方法,是ParticlesInCells(PIC)和FluidImplicitParticles(FLIP)等传统方法的升级。MPM模拟不是实时运行的,在具有一百万个点的系统上,MPM每帧大约需要半分钟。详细信息可以在MPM评论文章[3]中找到。一片面包的撕裂模拟需要1100万个MPM粒子五、机器学习和物理模拟上面四种方法和机器学习有什么关系?我们注意到,基于传统方法,模型的计算速度、精度/分辨率等指标都陷入了瓶颈。物理求解器在过去几十年中得到了优化,几乎没有留给逐步改进的空间。在这种情况下,机器学习就派上用场了。最近,牛津大学[5]、育碧LaForge实验室[6]、DeepMind[7,8]和苏黎世联邦理工学院[9]的研究表明,深度神经网络可以学习物理交互并模拟它们,关键是速度可以快很多数量级。这个过程是这样的:生成数百万个模拟数据——训练一个神经网络——并使用训练过的模型来模拟一个物理求解器。其中,生成数据和训练模型的阶段会消耗大量的时间,但是训练好的神经网络模型在物理阶段的模拟会非常快。例如,牛津大学的研究人员[5]开发了一种名为DeepEmulatorNetworkSearch(DENSE)的方法,将模拟速度提高了20亿倍,并通过了10个包括天体物理学、气候、聚变和高等科学案例的验证能量物理学。在游戏领域,UbisoftLaForge研究团队开发的模型使用简单的前馈网络,该网络通过在三个时间帧中对3D网格对象的顶点位置进行训练来学习预测下一帧[6]。该模型本质上是将预测与模拟数据集中的已知位置进行比较,并使用反向传播来调整模型参数以最大限度地减少预测误差。该团队使用Maya的nCloth物理求解器生成模拟数据,这是一种针对布料优化的高级弹簧质量模型。他们还实施了主成分分析(PCA),实验表明,神经网络通过仅在最重要的基础上进行训练,模拟物理的速度比物理求解器快5,000倍。布料和粘性材料的数据驱动物理模拟相关视频:https://www.youtube.com/watch?v=yjEvV86byxg同样,DeepMind团队近期在图网络方面的工作也取得了惊人的成果[7]。与传统神经网络每层节点相连不同,图神经网络直接具有类似图的网络结构。使用图网络模型,研究团队成功地模拟了各种刚性和柔性材料,如沙子、水、粘液等。模型预测的不是粒子的位置,而是它的加速度。它使用欧拉积分计算速度和位置;并使用一系列物理求解器(包括PBD、SPH和MPM)生成模拟数据。该模型并没有比物理求解器快很多,因为它没有专门针对速度进行优化,但它表明机器学习和物理可以有效地结合起来。复杂物理模拟与深度学习预测的比较相关视频:https://www.youtube.com/watch?v=h7h9zF8OO7E尽管这一研究领域仍处于起步阶段,但我们观察到基于深度学习的技术进一步增强了物理学模拟。从量子力学和分子动力学到微观结构和经典物理学,各种规模和复杂性的物理现象都有许多模拟模型,我们相信将机器学习和物理学相结合具有巨大的潜在价值。相关研究[1]PaulDirac,多电子系统的量子力学,Proc。R.Soc。伦敦。A123,714(1929)[2]J.Benderetal.,ASurveyonPositionBasedDynamics,EUROGRAPHICS(2017)[3]ChenfanfuJiangetal.,TheMaterialPointMethodforSimulatingContinuumMaterials,SIGGRAPHcourses(2016)[4]J.Wolperet等人,CD-MPM:动态断裂动画的连续损伤材料点方法,ACMTrans。Graph.38,119(2019)[5]M.Kasimetal.,Buildinghighaccuracyemulatorsforscientificsimulationswithdeepneuralarchitecturesearch,arXiv(2020)[6]D.Holdenetal.,SubspaceNeuralPhysics:FastData-驱动交互式仿真,SCAProc。ACMSIGGRAPH(2019)[7]A.Sanchez-Gonzalezet等人,学习使用图形网络模拟复杂物理,Proc。第37国际会议。ML,PMLR,119(2020)[8]T.Pfaffetal.,LearningMesh-basedSimulationswithGraphNetworks,arXiv(2021)[9]B.Kimetal.,深度流体:参数化流体模拟的生成网络离子,计算机图形学论坛,38,59(2019)