一个简单的飞行模拟器


10

在具有逼真的深红色水平的3D飞行模拟器中(例如,在街机水平而不是现实水平),您如何确定每个游戏时钟滴答声中飞机的运动?

(深红色的天空是一个类似街机的飞行模拟器:http: //youtu.be/OWmYt0LZDnU?t=3m

我假定游戏以固定的步伐前进,每一步中,每个移动的对象以恒定的速度从当前位置一直移动到下一位置。

您需要什么基本参数来确定质量,速度,油门等。另外,您将如何结合它们?


有趣的问题,但这不是太广泛了吗?我的意思是,它要求提供飞机仿真动力学的详细信息。除了对转矩和加速度进行数值积分外,答案还应解决什么特殊问题?我个人更希望避免使用扭矩和加速度来改变轨迹,因为它们更难使用,并提供休闲玩家不喜欢的体验(使用惯性效果的游戏机制很难调整)。
teodron

您应该定义“深红色天空级现实主义”的实际含义,因为有些人(像我一样)没有玩过该游戏,现在被排除在提供答案之外。
菲利普

3
这本质上不是“如何实现物理学”吗?
MichaelHouse

1
从我在这里的答案中,这就是我对这个问题给出的相同建议:迭代经验检验。在您的GUI中添加一些测试滑块,以控制您要测试的各种参数。
MichaelHouse

3
“物理” +“模拟器” +“简单”选择任意两个。您找不到任何简单的飞行模拟器示例的原因是,卡通飞行被欺骗并演变为简单的角色控制器,而即使最小的模拟也深入了物理领域,众所周知难以保持稳定。
Patrick Hughes

Answers:


22

要了解如何模拟空气动力学飞行,首先必须了解哪些力会影响飞机的运动。飞机的实际轨迹是所有这些物理影响的总和:

牛顿的第一和第二运动定律

  1. 除非有力作用,否则物体将以恒定的速度运动。
  2. 物体的加速度与作用在该物体上的净力成正比,并且在相同的方向上,与它的质量成反比。因此,F = ma,其中F是作用在物体上的净力,m是物体的质量,a是物体的加速度。

发动机推力

发动机的推力是使飞机向前加速的力,通常可以由玩家控制。加速度是发动机的功率除以飞机的质量。

重力

重力不断使飞机以9,81 m /s²的速度向下加速。从理论上讲,当您升高时重力会减小,但是在正常飞机运行的高度,这可以忽略。

气动阻力

飞机移动得越快,大气摩擦减慢的速度就越大。这由沿与飞行器移动的当前方向相反的方向加速的力表示。力随速度呈平方增加(双倍速度=阻力的四倍)。但是飞机飞行的高度越高,大气层越薄,阻力越小。飞机的最高速度是发动机推力和空气阻力产生的力相互抵消的地方。

这听起来可能违反直觉,但是具有更强的阻力常数实际上会使您的游戏更容易玩(更像是街机游戏),因为阻力是阻止飞机飞向玩家不希望的方向的力不再飞行(例如在飞行曲线时)。因此,更多的阻力=更慢,更易操纵的飞机。您可以通过在飞机的前进方向和运动方向之间存在差异时增加阻力来进一步改善这一点(这甚至不切实际-优化飞机的空气动力学特性,以使飞机在飞行时的空气阻力最小飞)。

气动升力

这实际上是导致飞机飞行的力。它是由机翼产生的。机翼表面越大,产生的升力越大,并会使飞机向上加速(相对于机翼,而不是地面。当飞机向侧面滚动时,升力也向侧面加速)。就像大气阻力一样,升力与速度和大气密度有关。

控制面

平面通过俯仰,偏航和横滚的不同控制表面控制其方向。控制面仅在飞机移动时才起作用。其效率与当前速度和大气密度成正比。请注意,控制曲面仅更改平面指向的方向,而不更改平面的移动方向。这会影响推力和升力的方向,从而逐渐影响运动方向。


1
小一:功率(能量率)随速度的立方增加。阻力与速度的平方成正比,功率将是阻力与速度的乘积。但是您没有在能源费率方面讨论其他任何事情,因此您可能还是要指代阻力。
塞斯·巴丁

“它的效率与当前的速度和大气密度成正比。” 稍微不准确的是,飞机在改变方向时会受到更多的空气阻力,因为它迫使空气流向另一个方向,因此您必须在惯性之间取得平衡,这是我最近想知道的事情:如何计算产生的力从改变方向的平面来看,您可以简化流体力学来解决这个问题,但是我不知道好的答案。您还必须考虑机翼的大小。
13年

1
@jokoon您对此是正确的,但是请考虑这个问题是关于一个简单的,类似街机的飞行模拟器。既不需要也不希望达到最大真实感。为了获得最大的真实感,我会在飞机的3D模型周围的空气动力学的精确模拟中统一阻力,升力和方向舵的扭矩,但是对于大多数在真实感方面不希望与Microsoft Flight竞争的游戏来说,这太过分了。
菲利普

我曾经参加一次航展,当您看到一架喷气式战斗机转弯时,您会看到并感觉到飞机的重量将其下方的空气推向空中,就像它在漂移但在同时飞行。我仍然不知道您所谈论的电梯是否仍会在没有我所谈论的细节的情况下出现。我想是的,对吗?它只会改变升力矢量,使飞机以某种方式漂移。
13年

1
@OndrejPetrzilka您知道飞机转弯时如何倾斜吗?这导致升力矢量指向转弯的中间。
user253751
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.