首页/心系八方/正文
黑神话·悟空物理引擎揭秘:游戏中的真实物理现象与BUG背后的科学原理

 2025年04月25日  阅读 21

摘要:昨天的前一天,我们的国内游戏“黑色神话·”赢得了TGA年度最佳动作游戏奖和玩家之声奖。此外,最新的更新已经发布,编辑也很高兴能重返黑色神话,并准备遇到下一个81个困难。当我玩游戏时,我在想游戏中的物理过程是如此真实,例如水中的波纹,在雪中旅行的痕迹等。如何完成...

昨天的前一天,我们的国内游戏“黑色神话·”赢得了TGA年度最佳动作游戏奖和玩家之声奖。此外,最新的更新已经发布,编辑也很高兴能重返黑色神话,并准备遇到下一个81个困难。当我玩游戏时,我在想游戏中的物理过程是如此真实,例如水中的波纹,在雪中旅行的痕迹等。如何完成这些?

并非所有游戏都具有与它们一样好的物理模拟的问题,并且可以找到许多错误,例如...

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

当然,游戏错误非常普遍,有些错误甚至可以为玩家带来欢乐,甚至由官方模因扮演。许多著名的游戏也有有趣的游戏错误。

官方播放列表

那么游戏世界中的物理学如何实现?为什么这些有趣的现象会发生?这些现象对物理本身有什么灵感?让我们跟随编辑进入游戏中的物理世界〜

碰撞检测,虚拟中的“硬对象”

经典物理世界中最常见的事件是碰撞,因此,如果您想在游戏中足够现实,则碰撞必须是第一个考虑的过程。

让我们看一下经典世界中的碰撞是如何发生的〜

f是物体施加的净力,m是对象的质量,a是加速度。通过计算每时每刻的合并力和物体的组合,我们可以在现实生活中获得物体的物理状态。同样,回到我们的游戏世界,物理引擎可以使用此方法来更新其速度和位置。

3D中的碰撞模拟

在计算机中,通常是通过数值集成方法来实现的,例如的方法,-方法,或更稳定,更先进的半密码集成器等。计算效率和稳定性通常在游戏中优先级,以确保在每个范围内都可以快速获得近似准确的对象位置和状态。

但是,由于我们都知道现实世界在经典上是连续的,但是游戏世界的模拟需要根据每个对象的状态将每个对象的位置更新一个。物理模拟中使用的帧速率越高,肯定的计算结果越准确。

例如,我们计算两个小球之间的碰撞。发生碰撞时,我们根据两个小球的速度,速度方向,材料和碰撞深度计算这种碰撞的结果,并同时更新两个小球的状态。但是,在现实世界中,两个刚性对象不会“重叠”。实际碰撞发生在两个小球接触或整个过程从接触到变形到碰撞结束的整个过程时发生的。

游戏中重叠以产生碰撞的示例

但是,由于物理引擎会更新位置并逐一计算碰撞结果,因此无法保证碰撞时间点完全在某个框架上,也无法真正模拟从触点到出发的两个球之间的每一个微妙的变化。两帧中间的碰撞信息实际上丢失了。

从左到右,按顺序显示了20帧,50帧和100帧的球碰撞结果。您可以看到,球的数量很明显|资料来源:(Pipi Pass)

物理游戏小实验_物理游戏大全_物理游戏

这将导致许多更复杂的碰撞,有时看起来很违反直觉,例如在上一场足球比赛中非常令人发指的碰撞。

如今,许多成熟的游戏引擎都通过将游戏的帧速率与实际帧速率分开来避免了这个问题。但这不仅仅是影响碰撞的因素。

对于美学,实际游戏期间的建模非常复杂。在建模方面,通常有成千上万的三角面。但是,当计算这些原始模型的碰撞或由于奇怪的建模角时,物理引擎的计算量将增加几何形式,碰撞计算将产生与现实完全不同的结果。因此,我们需要简化对象的外观,这就是我们经常称之为游戏中的碰撞量。

尽管建模很复杂,但立方体盒装是实际物理操作中使用的卷|资料来源:Dota Wiki

此外,材料,摩擦,空气阻力,挤压现象都是碰撞过程中需要考虑的问题。

约束:受限制的自由

除了刚体的碰撞外,许多部分在游戏中自然是必不可少的,这是约束的物理概念,在其背后起着作用。例如,如果游戏中的反派想要抓住一个对象,则相当于手和所限制的对象之间的接触表面。

在物理引擎中,使用约束()来限制对象的运动范围和相对位置。它们被广泛用于游戏和模拟中,例如角色骨架动画,机器人手臂,车轮等。

如果您在仿真过程中做得不好,则可能会得到一个非常奇怪的游戏屏幕。

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

在物理引擎中,通常通过数学方程来描述约束,并基于经典力学中的 ()和 ()解决。

对象之间的相对运动由应用于对象上的绑定力()确定,这使对象遵循商定的运动轨迹,并防止它们与物理定律不一致。具体而言,约束力通过改变对象的加速度限制了其自由,从而确保其运动不会违反约束。

字符的关节是一种称为铰链关节的约束形式,它允许两个物体绕一个轴旋转,同时限制其他自由度。它的物理原理可以追溯到惯性的时刻(OF)和(OF)的保护。

在实际游戏中,约束也存在限制计算量的问题,并且有必要简化计算量。因此,预设一般约束通常在游戏中预设,例如以下类型

示例

织物和流体模拟:物体的变形和流动

在游戏中,使用软体,织物和流体的模拟来呈现对象的变形和流动行为,这些变形和流动行为不仅遵循经典的物理定律,而且还依靠数值计算方法来实现。通过这些模拟,游戏可以表现出更精致和逼真的物理效果,例如由水中运行的角色引起的涟漪,以及在挥舞武器时吹来附近的植物和树木。

软体指的是在外力的作用下变形的物体。与刚性的身体相比,它们不再完全不明显。软体模拟的核心目标是准确描述物体受到力时的变形行为。

软体的变形与物理学中的压力()和应变()密切相关。压力描述了物体在外部力的作用下的内部力量分布,这通常由应力张量()表示。菌株描述了由于外力而导致物体的形状或体积的变化。

物理游戏大全_物理游戏_物理游戏小实验

压力与应变之间的关系:在应力作用下,弹性体将经历线性或非线性应变。最常用的模型是胡克定律,该定律描述了材料在小变形下的线性弹性行为:

其中包括压力,应变和弹性模量。对于刚性对象,零表示没有变形。对于柔性物体,该对象将经历弹性或塑性变形。

粒子模型的示意图

粒子模型是计算简单软体的最常用方法之一。在此模型中,对象被离散为几个粒子,每个粒子都通过弹簧相互连接,模拟了材料的弹性行为。牛顿的第二定律给出了每个粒子的运动方程。

发动机显示的织物效应

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

流体模拟是物理引擎中最具挑战性的任务之一,尤其是在现实主义方面。流体行为受到连续培养基力学的深厚影响,尤其是流体动力学和热力学。

流体的运动遵循Navi-方程( - ),这是描述粘性流体流动的基本方程式:

方程的左侧是惯性项,它描述了流体动量的变化。右边的第一项是压力项,它描述了压力梯度产生的力,该力从高压区流到低压区。第二项是粘度项,它描述了流体内部的摩擦(粘度)效应,这与流体速度场的梯度有关。第三项是体积粘度项,部分是考虑流体的体积粘度。最后一个学期是外力。

对于不可压缩的液体

这样,可以忽略音量粘度项。在游戏中,我们甚至可以忽略粘度术语,只考虑二维情况,我们将获得一组非常简化的方程组,从而大大降低了计算数量:

黑色神话战斗时的水面波纹

但是,获得的流体模拟相对简单。例如,我们很难在游戏中看到水面上的涟漪,这相当于忽略流体长波长部分的波动。

游戏中的模拟与科学研究之间的区别

无论是游戏开发还是科学研究,都必须模拟对象的运动和相互作用。然而,在目标,准确性,计算方法,约束和解决方案策略方面,游戏中的僵化身体模拟和科学研究中的刚体模拟都大不相同。

游戏中的模拟主要集中在实时互动和视觉现实上。尽管游戏中的对象根据牛顿力学移动,但通常会简化模拟的准确性和细节,以实现更好的用户体验和更快的计算速度。与精确的物理预测相比,模拟结果更多地用于增强玩家的沉浸。

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

尽管科学研究中的游戏和模拟中的模拟基于相同的物理原理,但通常会大大简化游戏中的模拟,以确保可以在每个帧中有效地计算物体的运动。

我想知道您是否对游戏中的物理有更深入的了解。这是黑色神话中的游戏屏幕。您可以考虑在此包含多少物理模拟过程〜

版权声明:本文为 “博览广文网” 原创文章,转载请附上原文出处链接及本声明;

原文链接:http://wen.bjhwtx.com/post/26269.html

标签:

博览广文网

博览广文网为所有文学爱好者、新闻爱好者、关注生活多方面内容的观众朋友提供多方位的内容呈现、提升阅读空间、填充碎片时间,开阔读者的视野、增长见识、了解民生、一个让您不出户尽知天下事的网站平台!
热门标签
关于我们
广文舒阅网—让天下读者有家可归!这里汇聚了各类优质文化信息,无论是全球热点、历史故事,还是实用百科、趣味探索,您都能轻松获取。我们希望用阅读点亮您的世界,让每一次浏览都充满收获和乐趣。
导航栏A标题
广文舒阅网
扫码关注
联系方式
全国服务热线:0755-88186625
Q Q:8705332
Email:admin@lanyu.com
地址:深圳市福田区海雅缤纷国际大厦5层501
Copyright 深圳市蓝宇科技有限公司 版权所有 备案号:京ICP备20013102号-1