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

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

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

编辑:十一

1.2.

3.

4.

5.

6.

7.

8.

9.

10.

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

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.

相关推荐
热点推荐
中方反制开始,高市支持率不降反升,近半数民众赞成武力介入台海

中方反制开始,高市支持率不降反升,近半数民众赞成武力介入台海

时时有聊
2025-11-17 07:32:57
中日关系紧张:大量中国游客依然赴日!网友:富士山下都是中国人

中日关系紧张:大量中国游客依然赴日!网友:富士山下都是中国人

影像温度
2025-11-17 16:12:46
“ 女儿体内检出男性精液”女职员陪酒身亡,赴宴多名干部被处理,警方认定无犯罪事实不立案,其父追问死因

“ 女儿体内检出男性精液”女职员陪酒身亡,赴宴多名干部被处理,警方认定无犯罪事实不立案,其父追问死因

观威海
2025-11-17 15:14:24
广州一女子在商场厕所被纸巾盒铁片划伤臀部,商场:正处理,会考虑加以改进

广州一女子在商场厕所被纸巾盒铁片划伤臀部,商场:正处理,会考虑加以改进

极目新闻
2025-11-17 20:25:33
东部战区重磅发布!

东部战区重磅发布!

浙江之声
2025-11-17 17:05:33
孚日股份的4万股民迎来泼天富贵

孚日股份的4万股民迎来泼天富贵

看财经show
2025-11-17 10:58:06
全运会第19金!男子400米混合泳:汪顺递补晋级实现全运四连冠

全运会第19金!男子400米混合泳:汪顺递补晋级实现全运四连冠

全景体育V
2025-11-17 20:11:23
开发商伪造公证书变卖房主34套房,当地房管局:无能力核实真假

开发商伪造公证书变卖房主34套房,当地房管局:无能力核实真假

新京报
2025-11-17 19:43:32
为何西贝没垮,罗永浩乱拳打死了绿捷?

为何西贝没垮,罗永浩乱拳打死了绿捷?

智识漂流
2025-11-17 07:05:16
善恶终有报!连娶三徒弟,毁掉奥运冠军前途的金炜,终究难逃"反噬"

善恶终有报!连娶三徒弟,毁掉奥运冠军前途的金炜,终究难逃"反噬"

小熊侃史
2025-11-14 00:05:51
为啥日本着急派高官来华解释?

为啥日本着急派高官来华解释?

国是直通车
2025-11-17 15:57:28
女子百米:16岁浙江小将陈妤颉11秒11,收获冠军

女子百米:16岁浙江小将陈妤颉11秒11,收获冠军

懂球帝
2025-11-17 21:15:25
刚刚!杨兰兰澳洲案惊天逆转! 开庭后律师一句话让全场哗然! 所有人都难以置信,不认!

刚刚!杨兰兰澳洲案惊天逆转! 开庭后律师一句话让全场哗然! 所有人都难以置信,不认!

澳洲红领巾
2025-11-17 11:27:48
高市万万没想到,派“弃子”来华后,中国立场变了,又叫停2件事

高市万万没想到,派“弃子”来华后,中国立场变了,又叫停2件事

丁丁鲤史纪
2025-11-17 17:48:17
防止规模性返乡滞乡,可以赋黄码红码治理

防止规模性返乡滞乡,可以赋黄码红码治理

上峰视点
2025-11-17 18:35:31
熬了4天后,43岁导演猝死

熬了4天后,43岁导演猝死

中国新闻周刊
2025-11-17 17:58:00
就在刚刚!泰方高层突然宣布,中方将采购50万吨泰国大米的消息

就在刚刚!泰方高层突然宣布,中方将采购50万吨泰国大米的消息

百态人间
2025-11-17 16:39:01
11月17日俄乌最新:历史性的协议

11月17日俄乌最新:历史性的协议

西楼饮月
2025-11-17 15:06:37
外卖为什么突然没单了

外卖为什么突然没单了

大嘴説
2025-11-17 11:29:20
铁甲:遗落在雪峰山余脉里的古村

铁甲:遗落在雪峰山余脉里的古村

力量湖南
2025-11-17 19:43:11
2025-11-17 21:35:00
中科院物理所 incentive-icons
中科院物理所
爱上物理,改变世界。
9582文章数 136369关注度
往期回顾 全部

游戏要闻

再见Gumayusi!T1官宣:Guma离队成自由人!韩媒爆料:peyz加入T1

头条要闻

吉林白城回应"使用地砖铺贴河床":系必要的工程措施

头条要闻

吉林白城回应"使用地砖铺贴河床":系必要的工程措施

体育要闻

当家球星受伤后,球迷乐翻了天?

娱乐要闻

金鸡奖是“照妖镜”,揭露人情冷暖?

财经要闻

高市早苗的算计,将让日本割肉5000亿

科技要闻

有了通义和夸克,阿里为何再推千问App?

汽车要闻

新增CDC后变化大吗? 试驾特斯拉model Y L

态度原创

本地
亲子
时尚
数码
公开课

本地新闻

这档古早综艺,怎么就成了年轻人的哆啦A梦?

亲子要闻

什么叫溺爱?

秋天怎么穿出时尚感?适当露肤、不死板老气,高级又有回头率

数码要闻

小米Poco Pad M1平板参数曝光,有望近期开售

公开课

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

无障碍浏览 进入关怀版