全站通知:

气动模型第一部分:对原版Falcon4.0气动代码的回顾

阅读

    

2024-09-26更新

    

最新编辑:glamcurrent

阅读:

  

更新日期:2024-09-26

  

最新编辑:glamcurrent

来自falcon bmsWIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
页面贡献者 :
glamcurrent


在原版游戏中MicroPose(MPS)所构建的气动代码在发行之初就受到了相当广泛的批评。现在是时候对此原版气动模型的质量进行一次公平公正的评测了。


首先,我们必须承认,在1997年的时候,在一众的飞行模拟游戏中,Falcon 4.0的模拟水平是独一无二的。游戏中的F-16如现实中的F-16战机那样,存在深度失速和CAT 1限制器,这无不说明真实飞行员也以某种方式参加了“Falcon 4”(简称为F4)的开发工作中。


其次,得益于一些独立的数据编码工作者,随着补丁的不断发布,F-16在二维(2D)平面上的性能(纵向加速/减速,转弯率于飞行包线)的准确性有了很大程度的提升,2004年10越发布的“HFFM”系列补丁就是一个经典例子。但是,即使随着补丁的持续发布,原版“F4”的源代码也几乎没有对气动模型有任何改进。


然而,尽管之前已经想尽办法提升游戏质量,但是F-16气动模型即使搭配了最优的数据,它也完全无法与真实飞机相媲美,与现代模拟飞行软件相比更是有很大的差距。以下是原版气动模型中存在的主要问题的例子:

  • 虚拟飞行员没有任何体感反馈(译注:如飞行员视角振动的效果等)。“跑在铁轨上的飞机”(Aircraft on rails)是经常被拿来形容F4原版气动模型的词。虽然F-16有模拟FLCS,但凡是真的看过现实中F-16的HUD上的向量指示符(FPM)的运动轨迹的人,都能得出来“Falcon 4.0”的气动稳定性太过夸张。
  • 有些机动动作在原版F4中无法实现。例如“刀刃穿越”(Knife-Edge Pass),“超低速筋斗”等
  • FLCS的许多功能模拟的非常差,甚至差过现实中的飞机:CAT 3、巡航增益(Cruise Gains)、起落架增益(Landing Gear(LG) Gains)。这导致模飞玩家在做出与现实飞机相同的操作输入时,模拟机有时会做出与现实战机完全相反的反馈。例如:为保持着陆时的下滑坡度,原版游戏中玩家必须要维持向前推杆,而现实中的飞机却是向后拉杆来保持下滑道坡度。
  • 有一些FLCS的功能甚至完全没有模拟:副翼-方向舵联动(ARI),滚转率控制模块、维持1G过载等功能....
  • 完全不存在空气动力学或惯性耦合,但这些恰恰是F-16的模拟要点,FLCS 80%的功能都是为了管理这些耦合。
  • 失速行为与改出行为完全脚本化,这很难反映出真实F-16的偏离效果(如滚转偏离(roll departures))
  • 舵效的建模很差,更笼统的说,偏航模拟的很差
  • 基本的力学概念,如惯性,没有得到很好的实现
  • 地面表现以及空气和地面之间的连续性完全是天马行空的,因此着陆部分的模拟完全脱离现实
  • 与气团间的相互作用完全为0:如风和湍流效果


此外,游戏中其他飞机的气动也是基于F-16的气动模型,导致古董机(非电传(Non Fly-By-Wire))的飞行轨迹也很假。但要注意的一点是:原版的F4中,玩家是不能驾驶除F-16以外的其他机型。


为了更深入地探讨这个问题的核心,让我们试着对初版的MicroProse版气动代码做一个总体的简化概述。


原版气动代码主要由四个主模块组成:

  1. 用于从气动相关文件中插值计算出给定速度、攻角(AOA)和高度下的整体升力/阻力和推力
  2. 用于输入局升力/阻力/推力来计算出重心(CG)的运动(轨迹)(欧拉微分法)
  3. 为一个纯计算模块,它基于FLCS的限制器数据文件,根据飞行员的输入和飞行状态来计算出俯仰/偏航/滚转率(攻角数据由此模块得出并代入到模块1中)
  4. 负责地面上的物理表现,通过给定地面上的转弯率/半径来模拟飞机在地面上的物理运动。此模块直接影响到飞机的物理运动表现,在地面上时它直接取代模块2来计算飞机物理运动(这意味着地面和空中的物理运动建模完全分立,不具有连续性)


原版代码的主要问题是俯仰/偏航/滚转与重心不存在直接的关联。综上所述,这代表飞机计算出的轨迹与飞机姿态完全无关。这个问题在低速飞行时特别明显,此时的俯仰角和飞行轨迹在物理学上完全不可能发生。