网易首页 > 网易号 > 正文 申请入驻

黑神话获奖!游戏中最真实的物理引擎是怎么实现的?

0
分享至

前天,我们的国产游戏《黑神话·悟空》获得了TGA年度最佳动作游戏奖与玩家之声奖,再加上最近新出的更新,小编也是兴冲冲重新下回黑神话准备再体验一把八十一难。玩着玩着就在想,游戏中物理过程做的那么真实,比如水中涟漪、雪中行进痕迹等,这些是如何做到的呢?

也不是所有游戏中有物理模拟有关都做的那么好,也可以发现许多BUG,比如......

(我们有最真实的物理引擎)

当然游戏BUG是非常常见的,甚至有些BUG还能给玩家带来欢乐,甚至被官方玩梗,许多知名游戏也有着有意思的游戏BUG。

官方玩梗

那么游戏世界的物理究竟是怎么实现的呢?为什么会出现这些有趣的现象呢?这些现象又对物理学本身有什么启发呢?下面就跟着小编一起走进游戏中的物理世界吧~

碰撞检测,虚拟中“硬物体”

在经典的物理世界中发生最多的事件莫过于碰撞了,所以要想游戏中足够真实,那么碰撞是一定是最先需要考虑的过程。

先看看经典世界的碰撞是如何发生的~

F为物体所受的净力,m为物体的质量,a为加速度。通过对每一时刻物体所受合力和合力矩进行计算,我们可以得到现实生活中物体的物理状态。同样的,回到我们游戏世界,物理引擎可以利用这个方法更新其速度与位置。

Unity 3D中模拟碰撞

在计算机中,这通常通过数值积分方法实现,如欧拉法、龙格-库塔法,或更为稳定和高级的半隐式积分器等。在游戏中通常优先考虑计算效率与稳定性,以保证在每帧刷新中都能快速得到近似准确的物体位置和状态。

但是由于我们都知道,现实世界从经典上看是连续的,但是游戏世界的模拟需要根据每个物体的状态一帧一帧更新每个物体的位置。物理模拟所用的帧率越高,计算结果肯定就越精确

例如计算我们计算两个小球对撞,当发生碰撞时根据2个小球的速度大小、速度方向、材质、碰撞深度来计算这次碰撞的结果,同时更新2个小球的状态。但是现实世界中两个刚性物体是不会发生“重叠”的,真正的碰撞发生在2个小球接触的瞬间或者从接触到形变到碰撞结束的整个过程中

游戏中重叠产生碰撞的例子

但物理引擎由于是一帧一帧更新位置、计算碰撞结果,无法保证碰撞的时间点正好在某一帧上,也无法真正完全动态模拟2个小球从接触到离开过程中的每一个细微变化,2帧中间的碰撞信息其实是丢失了的

从左到右依次为20帧、50帧、100帧下小球碰撞结果,可以看到小球弹起次数有着明显区别 | 来源:知乎(皮皮关)

这就会导致有很多更加复杂的碰撞在有些时候看起来是非常反直觉的,比如前面足球游戏中非常离谱的碰撞结果。

现在的许多成熟的游戏引擎已避免了这个问题,将游戏的计算帧率与现实帧率分开。但是影响碰撞的还不仅仅是帧率这一个因素。

实际游戏过程中的建模为了美观是非常复杂的,从模型来说一般来说有几千个三角面。但是物理引擎在计算这些原始的模型碰撞时计算量会几何程度递增,或者由于某个比较奇怪的建模角度,碰撞计算会给出与现实出入较大的结果。所以我们需要简化物体的物理外形,这也就是我们游戏中常说的碰撞体积

虽然建模很复杂,但是框出的立方体部分才是实际物理运算时用到的体积 | 来源:DotA wiki

除此之外,还有材质、摩擦力、空气阻力、挤压现象等都是碰撞中需要考虑的问题。

约束:受限制的自由

除了刚体的碰撞外,游戏中自然少不了许多部件的连接与转动,这就是约束这一物理概念在背后起作用。例如,游戏中的小人要想抓取一个物体,就相当于手与物体的接触面产生了约束。


在物理引擎中,约束(Constraints)用于限制物体的运动范围和相对位置。它们在游戏和仿真中有着广泛的应用,如角色的骨骼动画、机械臂、车轮等。

在模拟过程中如果做不好约束很可能得到非常奇怪的游戏画面。

在经典力学中,约束是描述系统中物体或物体之间相互关系的条件。约束力学是研究如何在一个多物体系统中考虑运动的限制条件的分支。根据自由度的不同,物体之间的相对运动受到不同类型的限制。

在物理引擎中,约束通常通过数学方程来描述,并基于经典力学中的拉格朗日力学(Lagrangian Mechanics)和牛顿力学(Newtonian Mechanics)来求解。

物体之间的相对运动由施加在物体上的约束力(Constraint Forces)决定,这些约束力使得物体遵循约定的运动轨迹,防止它们发生不符合物理规律的运动。具体来说,约束力通过改变物体的加速度来限制其自由度,从而确保其运动不会违反约束条件。

人物的关节就是一种约束形式,称为铰链关节,它允许两个物体绕一个轴旋转,同时限制其他自由度。其物理学原理可以追溯到转动惯量(Moment of Inertia)和角动量守恒(Conservation of Angular Momentum)

在实际的游戏中,约束同样存在计算量限制的问题,需要简化计算量,所以游戏中通常由预设好的通用约束,比如以下几种

PhysX中的Joints例子

布料与流体模拟:物体的变形与流动

WORLD OF GAMES

在游戏中,柔体、布料和流体的模拟用于呈现物体的形变和流动行为,这些行为不仅遵循经典物理定律,还依赖于数值计算方法来实现。通过这些模拟,游戏可以展示更加细腻、真实的物理效果,如人物在水中跑动激起的涟漪、挥动武器时带动附近草木的吹动等现象。

柔体是指在外力作用下会发生形变的物体,相比于刚体,它们不再是完全不可变形的。柔体模拟的核心目标是准确描述物体在受到力时的变形行为。

柔体的形变与物理学中的应力(Stress)和应变(Strain)密切相关。应力是描述外力作用下物体内部力的分布,通常用应力张量(Stress Tensor)表示。而应变是描述物体因外力而发生的形状或体积的变化。

应力与应变的关系:弹性体在应力作用下会发生线性或非线性的应变。最常用的模型是胡克定律(Hooke's Law),它描述了材料在小变形下的线性弹性行为:

其中 是应力, 是应变, 是弹性模量。对于刚性物体, 为零,表示没有形变;而对于柔体, ,物体会发生弹性或塑性形变。

质点模型示意图

质点模型是最常用且计算简单柔体的方法之一。在这个模型中,物体被离散化为若干个质点,每个质点通过弹簧相互连接,模拟材料的弹性行为。每个质点的运动方程由牛顿第二定律给出。

Bullet引擎展示的布料效果

对于更复杂的物体形变,我们可以使用有限元法。它通过将物体划分为许多小的单元(如三角形或四面体),并通过求解每个单元的应力和应变来模拟物体的整体行为。这种方法通常用于模拟更精细的物体形变,能够处理非线性和大变形

流体模拟是物理引擎中最具挑战性的任务之一,尤其是在真实感方面。流体行为受到连续介质力学的深刻影响,特别是流体动力学和热力学

流体的运动遵循纳维-斯托克斯方程(Navier-Stokes Equations),这是描述粘性流体流动的基础方程:

方程左边为惯性项,描述了流体的动量变化;右边第一项是压力项,描述了由于压力梯度产生的力,流体由高压区向低压区流动;第二项是黏性项,描述了流体内部的摩擦力(黏性)效应,这部分与流体的速度场的梯度有关;第三项是体积黏性项,这部分是为了考虑流体的体积黏性;最后一项是外力。

对于不可压缩流体有,

进而可以忽略体积黏性项, 在游戏中,我们甚至可以忽略黏性项,并只考虑二维的情况,就得到一组很简化的方程,大大减小计算量:

黑神话中打斗时的水面波纹

但是得到的流体模拟相对简单,比如我们很难看到游戏中水面有着较远范围的涟漪,相当于把长波长部分的流体波动忽略了。

游戏中和科研中对模拟的区别

无论是游戏开发还是科研领域,都需要模拟物体的运动和相互作用。然而,游戏中的刚体模拟和科研中的刚体模拟在目标、精度、计算方法、约束和求解策略等方面有着明显的不同。

游戏中的模拟主要侧重于实时交互性和视觉真实感。游戏中的物体虽然按照牛顿力学的原理运动,但模拟的精度和细节往往会有所简化,以便达到更好的用户体验和更快的计算速度。模拟结果更多的是用于增强玩家的沉浸感,而不是精确的物理预测。

科研中的刚体模拟目标通常是精确建模和性能评估,用于分析物体的力学行为、设计优化或实验验证。模拟的目的是提供可靠的结果,用于实际应用、理论研究或者验证物理现象。

游戏中的模拟与科研中的模拟虽然都基于相同的物理原理,但是游戏中的模拟通常会做很大程度的简化,以确保在每一帧中能够高效地计算物体的运动

不知道大家有没有对游戏中的物理有了更深的理解呢,这里最后给大家一个黑神话中的游戏画面,大家可以想想这之中又蕴含多少物理模拟过程~

参考文献

[1] Eberly, D. (2003). "Game Physics." Morgan Kaufmann.

[2] Witkin, A. & Baraff, D. (2001). "Physically Based Modeling: Principles and Practice." SIGGRAPH Course Notes.

[3] https://www.zhihu.com/question/277300055

[4] https://developer.aliyun.com/article/432351

[5] https://zhuanlan.zhihu.com/p/679061686

编辑:十一

本文转载自《中科院物理所》微信公众号

《物理》50年精选文章

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
61岁传奇超模意大利完婚,曾对爱情绝望:大龄女性在约会软件上如同隐形

61岁传奇超模意大利完婚,曾对爱情绝望:大龄女性在约会软件上如同隐形

浅遇时光
2026-07-17 00:18:37
人大代表变嫌疑人!涉案30亿金融骗局,躲藏9年终被清算!

人大代表变嫌疑人!涉案30亿金融骗局,躲藏9年终被清算!

白浅娱乐聊
2026-07-17 10:25:48
为何中国军力吓不倒日本,石破茂说得一针见血,还会走老路的

为何中国军力吓不倒日本,石破茂说得一针见血,还会走老路的

阿嘵田侃故事
2026-07-11 22:17:43
“缄默”不读 xián mò,正确读音是什么?

“缄默”不读 xián mò,正确读音是什么?

语丝纪
2026-07-18 08:44:46
蒂芙尼与卫生巾品牌艾芙尼商标争议打到北京高院,与LV同属LVMH集团

蒂芙尼与卫生巾品牌艾芙尼商标争议打到北京高院,与LV同属LVMH集团

北青网-北京青年报
2026-07-18 09:06:06
费多罗夫与军方将领爆发冲突:经济学人披露相关细节

费多罗夫与军方将领爆发冲突:经济学人披露相关细节

走进乌克兰2022
2026-07-16 04:07:28
不是输不起!英媒曝贝林厄姆动手原因:巴尔科赛后挑衅图赫尔

不是输不起!英媒曝贝林厄姆动手原因:巴尔科赛后挑衅图赫尔

红星新闻
2026-07-16 15:11:33
世界杯冠军是谁,义乌早就知道了?

世界杯冠军是谁,义乌早就知道了?

21世纪经济报道
2026-07-18 00:39:05
姆巴佩一句话终结足坛最大争议!C罗是偶像,但梅西的伟大连他都震撼了

姆巴佩一句话终结足坛最大争议!C罗是偶像,但梅西的伟大连他都震撼了

砚底沉香
2026-07-17 13:54:31
扎心的问题:这个社会那么多人失业、没工作,他们是怎么活下去的

扎心的问题:这个社会那么多人失业、没工作,他们是怎么活下去的

慧翔百科
2026-06-29 11:30:42
上海海港球迷意难平!不止因为2-2云南玉昆,更多在于以下五点!

上海海港球迷意难平!不止因为2-2云南玉昆,更多在于以下五点!

球场新视角1号
2026-07-17 21:59:07
不打垮中国不罢休?内鬼身份曝光让人意想不到!还好结局大快人心

不打垮中国不罢休?内鬼身份曝光让人意想不到!还好结局大快人心

阿策聊实事
2026-07-04 04:37:57
女人最难忘的男人,不是对她好的,而是给过这种感觉的!

女人最难忘的男人,不是对她好的,而是给过这种感觉的!

皓皓情感说
2026-06-06 08:04:02
沉默45年,中国第二轮"严打"终于来了!目标改变总体战正式打响

沉默45年,中国第二轮"严打"终于来了!目标改变总体战正式打响

细说职场
2026-07-16 15:42:01
麦冬才是“养阴王”!配上它,口干没了、心不烦了,越喝越滋润

麦冬才是“养阴王”!配上它,口干没了、心不烦了,越喝越滋润

白米饭怎么吃
2026-07-17 08:28:50
李英爱与大20岁老公合照太惊人!夫妻同步逆生长 网吓疯:他75岁

李英爱与大20岁老公合照太惊人!夫妻同步逆生长 网吓疯:他75岁

ETtoday星光云
2026-07-15 13:23:10
印尼要妥协了?镍矿新政30天就搁置!它为何向中国产业链认输了?

印尼要妥协了?镍矿新政30天就搁置!它为何向中国产业链认输了?

史智文道
2026-07-17 11:31:41
爆料39岁梅西退役规划:身家75亿“宅男”,欲带家人隐居静谧小镇

爆料39岁梅西退役规划:身家75亿“宅男”,欲带家人隐居静谧小镇

情感大头说说
2026-07-17 00:48:34
精神小妹的生活原来是这样的!网友:终于知道她们为啥都这么瘦了

精神小妹的生活原来是这样的!网友:终于知道她们为啥都这么瘦了

深度报
2026-02-11 23:35:03
死亡风险最高降25%,常见维生素又添新用!最新研究:补充后,阿尔茨海默病风险还猛降87%!但有“封顶值”,补太多不能锦上添花

死亡风险最高降25%,常见维生素又添新用!最新研究:补充后,阿尔茨海默病风险还猛降87%!但有“封顶值”,补太多不能锦上添花

梅斯医学
2026-07-17 07:55:09
2026-07-18 09:44:49
中国物理学会期刊网 incentive-icons
中国物理学会期刊网
最权威的物理学综合信息网站
4350文章数 21957关注度
往期回顾 全部

游戏要闻

经典肉鸽FPS《火湖》大型更新 大量实用新改动

头条要闻

美军连续七晚空袭伊朗 伊朗称将进入"全面进攻"阶段

头条要闻

美军连续七晚空袭伊朗 伊朗称将进入"全面进攻"阶段

体育要闻

30亿欧对决,世界杯季军战毫无意义?

娱乐要闻

曲婉婷自爆患癌!全网喊“苍天绕过谁”

财经要闻

股民当街砍博主!韩国股市 终极大屠杀

科技要闻

WAIC2026看什么?这份"不迷路"攻略请收好

汽车要闻

把中国超跑卖到英国,比亚迪正在被世界看见

态度原创

健康
数码
家居
教育
公开课

刮痧也会刮出脑梗?讲个真实案例

数码要闻

安克宣布:充电宝新品首批获得新国标认证

家居要闻

2026建博会(广州) 公装联探展交流活动

教育要闻

美国正式收紧留学生签证:F-1签证不再“无限期”!

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版