在具有逼真的深红色水平的3D飞行模拟器中(例如,在街机水平而不是现实水平),您如何确定每个游戏时钟滴答声中飞机的运动?
(深红色的天空是一个类似街机的飞行模拟器:http: //youtu.be/OWmYt0LZDnU?t=3m)
我假定游戏以固定的步伐前进,每一步中,每个移动的对象以恒定的速度从当前位置一直移动到下一位置。
您需要什么基本参数来确定质量,速度,油门等。另外,您将如何结合它们?
在具有逼真的深红色水平的3D飞行模拟器中(例如,在街机水平而不是现实水平),您如何确定每个游戏时钟滴答声中飞机的运动?
(深红色的天空是一个类似街机的飞行模拟器:http: //youtu.be/OWmYt0LZDnU?t=3m)
我假定游戏以固定的步伐前进,每一步中,每个移动的对象以恒定的速度从当前位置一直移动到下一位置。
您需要什么基本参数来确定质量,速度,油门等。另外,您将如何结合它们?
Answers:
要了解如何模拟空气动力学飞行,首先必须了解哪些力会影响飞机的运动。飞机的实际轨迹是所有这些物理影响的总和:
发动机的推力是使飞机向前加速的力,通常可以由玩家控制。加速度是发动机的功率除以飞机的质量。
重力不断使飞机以9,81 m /s²的速度向下加速。从理论上讲,当您升高时重力会减小,但是在正常飞机运行的高度,这可以忽略。
飞机移动得越快,大气摩擦减慢的速度就越大。这由沿与飞行器移动的当前方向相反的方向加速的力表示。力随速度呈平方增加(双倍速度=阻力的四倍)。但是飞机飞行的高度越高,大气层越薄,阻力越小。飞机的最高速度是发动机推力和空气阻力产生的力相互抵消的地方。
这听起来可能违反直觉,但是具有更强的阻力常数实际上会使您的游戏更容易玩(更像是街机游戏),因为阻力是阻止飞机飞向玩家不希望的方向的力不再飞行(例如在飞行曲线时)。因此,更多的阻力=更慢,更易操纵的飞机。您可以通过在飞机的前进方向和运动方向之间存在差异时增加阻力来进一步改善这一点(这甚至不切实际-优化飞机的空气动力学特性,以使飞机在飞行时的空气阻力最小飞直)。
这实际上是导致飞机飞行的力。它是由机翼产生的。机翼表面越大,产生的升力越大,并会使飞机向上加速(相对于机翼,而不是地面。当飞机向侧面滚动时,升力也向侧面加速)。就像大气阻力一样,升力与速度和大气密度有关。
平面通过俯仰,偏航和横滚的不同控制表面控制其方向。控制面仅在飞机移动时才起作用。其效率与当前速度和大气密度成正比。请注意,控制曲面仅更改平面指向的方向,而不更改平面的移动方向。这会影响推力和升力的方向,从而逐渐影响运动方向。