仿真性特、很低的硬件要求(集成显卡即可流畅的运行)和极高的专业性风靡于 Linux 世界,开放源代码,可以免费下载,Fly Free。
图1 flightgear 基本视窗效果图 一、FlightGear 简介 David Murr 于1996年4月发起开发新飞行模拟器的倡议,既而于1997年7月发布了第一个跨平台版本。之后,FlightGear 从最初粗糙的空气动力学模型开始,逐渐引入了自然特性(阳光、月光和星光等)、天气特性(云、雾和风等)、平显、仪表板、电子导航系统、机场与跑道以及网络互联操作等众多的特性。时至今日,FlightGear 已成为了 Linux 下最著名的开源飞行模拟软件,其强大真实的飞行仿真功能足以让大家过一把飞行瘾,而绝对不会出现 Lock On 游戏中摔不死的情况。
图2 玩家 Curt Olson 配置的全景视图
图3 航母起降 FlightGear的程序构架是开放式的,源代码树只有一级,方便大家给 FlightGear 增添功能。正因为如此,众多的飞行模拟爱好者为 FlightGear 开发了数十种飞机模型,提供了大量的机场数据和场景。 FlightGear 不仅博得了广大的飞行模拟爱好者的青睐,也赢得了许多公司和研究机构的信任,比如著名的飞行管理和地面设备公司ARINC、英国威尔士大学的飞行智能机器人研究和美国 Illinois 大学于智能结冰系统的研究等都使用了 FlightGear。据说国内也有研究人员汉化了 FlighGear,并把其用于研究项目之中。FlightGear的专业性可见一斑,因而能够在娱乐的同时感受挑战,享受获取知识的乐趣,做到娱乐学习两不误,真正领略 Free and Flying。 二、FlightGear 的安装 1. 二进制安装 FlightGear 官方网站为Fedora Core、Debian和Slackwre等发行版提供了二进制安装包。装这些系统朋友直接下载安装即可,省去了编译的麻烦。国内linuxfans的发行版 Magic Linux系统也提供编译好的二进制包,在这里下载 flightgear-0.9.8-1mgc.rpm 安装包。 二进制安装最常见的问题就是缺少某些库(如同Windows下缺少动态链接库一样),只要找出相应的软件包安装进系统就可以正常安装 FlightGear 二进制包了。下面以Magic Linux 1.2/2.0 提供的FlightGear-0.9.8为例做一简单说明: 第一步:下载Magic Linux 提供的 FlightGear-0.9.8 RPM包,双击安装,如图4所示。系统提示“没有满足依赖关系”,关闭“KPackage”; 第二步:下载相应的 FlightGear 相应的依赖包,地址如下: http://www.magiclinux.org/dev/2.0/cd2/RPMS/Game/supportlib/ 下载freeglut、metakit、openal、plib和simgear目录中的所有安装包到本地磁盘; 第三步:安装上述软件包;可以用双击调用“KPackage”逐个安装,也可以在超级用户(root)模式下用控制台集体快速安装(如图5);
图4 不满足依赖关系
图5 控制台安装依赖包 第四步:再次双击FlightGear-0.9.8 RPM包,如图7所示,然后依照提示完成安装;
图6 完全满足依赖关系 安装完成之后,单击“游戏”(或者games)中的“学航出更”启动 FlightGear。 其它操作系统的二进制包安装与上述内容类似,这里就不一一赘述了。 2. FlightGear 源码编译安装也很简单,步骤如下: 第一步:安装显卡3D驱动,保证启动 OpenGL 3D 加速; 第二步:安装PLIB的最新稳定版本(http://plib.sourceforge.net,大多数发行版已经自带了已经自带了二进制包); 第三步:安装SimGear的最新稳定版本(http://www.simgear.org/downloads.html,大多数发行版已经自带了二进制包); 第四步:下载编译FlightGear基本包(http://www.flightgear.org/Downloads/source.shtml)。 源码编译安装一般不会出现依赖性问题,但要注意执行完 Make install 之后,不要把编译目录删除掉,否则就丢失安装信息,不方便卸载软件了。 安装完成之后,进入 /usr/local/FlighGear/bin 目录下执行 fgfs 命令即可享受飞行了。fgfs 可以带参数,参数的详细内容请参考 FlightGear 文档,下节将举例简单说明。 三、启动 FlightGear 在启动 FlightGear 之前,需要配置 FlightGear 的运行环境,FlightGear 提供了丰富的配置选项,对于初学者来说难免有些繁杂,因此,为了增强直观性,笔者以 Windows 版本(版本号:0.9.9)作为引子快速介绍 FlightGear 的操作选项,同时说明 Linux 的配置参数,以方便读者熟悉配置项目。这里主要以键盘来操作,当然,你也可以装上飞行控制杆来控制飞机。 第一步:启动 FlightGear 之后,进入机型选择界面如图7所示,选择喜爱机型。在 Linux 系统下,增加启动参数“--aircraft=飞机代号”;
图7 选择机型 对于初学者,笔者建议选择“Cessna 172P Skyhawk(1981 model), 2D panel”,赛斯纳(Cessna) 172 系列是世界使用最多的四座教练机。从1957开始,已经生产了35,000多架飞机,目前还在使用。该机型操作容易,失速特性好,非常适合于初级训练。 第二步:选择机场(见图8)。新手可直接单击 Next 跳过选择,进入默认的机场环境。在 Linux 系统下使用参数“--airport-id=机场代码”。
图8 选择机场环境 第三步:基本设置(如图9)。这是进入实际飞行前的最后一个步骤,可以选择分辨率、游戏模式、3D云以及飞行的时间等等。还可以单击“Adanveced...”进入高级选项(如图10)。高级选项中提供了15个选项: General 一般 常用 Features 特性 常用 Flight Model 飞行计算模型 常用 Freeze 冻结 Initial Position 初始位置 Rendering 渲染 常用 Time 时间 Network 网络 Input/Output 输入/输出 常用 Avionics 航电 常用 Properties 属性 Debugging 调试 Environment 环境 常用 Weather 天气 常用 Clouds 云 常用
图9 基本设置
图10 高级选项 “基本选项”和“高级选项”中的每项内容在都可以在命令行中加上参数来实现,因此在 Linux 系统中可以参照 FlightGear 安装目录下 doc 目录里的“getstart.pdf”第3.4节的详细说明完成相应的设置。 完成设置之后,就可以单击“Run”进入飞行界面了。本例的 Flightgear 运行配置归纳起来在 Linux 系统中只需在命令行中运行如下命令即可: fgfs --aircraft=c172p-2dpanel --disable-random-objects --timeofday=noon 第四步:执行飞行任务(如图11和图12),进入FlightGear 之后,各个版本的运行界面完全一致。
图11 FlightGear初始化
图12 仪表板 由此,便可以执行模拟飞行任务了,比如起飞、爬升、巡航、下滑、进场和着陆等。当然飞行模拟并不像 CS 那样容易上手,欲想出色的完成一个航线任务,是要具备一定的飞行力学知识,并进行相当长一段时间的飞行训练才能胜任的。不过不用担心,孰能生巧,模拟飞行其实是非常简单的。下一节给出键盘操纵飞机的基本步骤,供读者参考。 四、键盘操纵 以“Cessna 172P Skyhawk(1981 model), 2D panel”为例,执行如下操作: 首先,启动发动机。按“Shift + ]”三次把“点火开关”(如图13)置于“Both”位置;按空格键启动发动机。
图13 点火开关与刹车 然后,执行放襟翼,推油门,滑跑,拉杆起飞等动作,开始飞行之旅。限于篇幅本文不能详细介绍各种飞行动作的要领,好在这方面的资料网上很多,例如:中国飞行模拟组织(http://www.cfso.org)的官方网站即提供许多有用的信息可供下载。下面给出 FlightGear 键盘操纵飞机的常用操作说明(见表1),也可以在 FlightGear 的“Help”菜单中的“Basic Keys”和“Commnon Aircraft Keys”选项里获取部分按键说明。 表1 常用操作 ************************************ 按键说明 操纵面(在数字键盘上,控制航向、滚转和俯仰等,必须激活数字锁定) 9/3 推力:9增加推力,3减小推力 4/6 副翼:4向左滚转,6向右滚转 8/2 升降舵:8推杆低头,2拉杆抬头 0/Enter 方向舵:0向右偏航,Enter向右偏航 5 居中副翼/升降舵/方向舵 ************************************ 观察方位(在数字键盘上,必须关闭数字锁定) Shift + 8 正前方 Shift + 7 左前方 Shift + 4 左侧方 Shift + 1 左后方 Shift + 2 正后方 Shift + 3 右后方 Shift + 6 右侧方 Shift + 9 右前方 ************************************ 显示选项 P 仪表板开关 C 2D/3D驾驶舱开关(2D和3D模型都可用时才起作用) S 仪表排列形式切换开关 Shift + F5/F6 左右移动2D仪表板 Shift + F7/F5 上下移动2D仪表板 Shift + F3 从特性列表导入仪表板 i/I 最小化/最大化仪表板 h/H 打开关闭HUD/改变HUD的颜色 x/X 放大/缩小 v/V 切换飞行员的观测模式 Ctril + c 开关仪表板鼠标操作指示标记 z/Z 改变能见度(好/坏) F8 开关雾特效 F10 显示/隐藏菜单栏 ************************************ 自动驾驶及相关控制 Ctril + A 高度保持开关 Ctril + G 下滑角跟随开关 Ctril + H 航向保持开关 Ctril + N NAV 开关 Ctril + T 地形跟随开关 Ctril + U 高度增加 1000 英尺(紧急情况) Enter 增加航向自动驾驶 F6 开关目标自动驾驶:当前航向/航路点 F11 高度自动驾驶对话框 F12 航向自动驾驶对话框 ************************************ 发动机控制 SPACE 启动发动机 ! 选择第一台发动机 @ 选择第二台发动机 # 选择第三台发动机 $ 选择第四台发动机 } 增加点火电源 { 消减点火电源 ~ 选择所有发动机 ************************************ 襟翼、起落架与刹车 ]/[ 放/收襟翼 g/G 收/放起落架 B 刹车锁死开关 b 刹车(全部轮胎) , 左轮胎刹车 . 右轮胎刹车
是不是有了以上的键盘操作表就可以玩好飞行模拟(如图14和15)了呢?显然这种想法是不正确的。飞行模拟游戏决不等同于“F-22”等空战模拟游戏,除了娴熟的(键盘、游戏杆和鼠标)操作技巧之外,它还熟练运用飞行力学、空中管制和导航等相关知识,因此,要想自由的飞行就必须付出学习的代价,正如美国人写在越战纪念碑上一句话:Freedom is not free!下一节,简单介绍一下起落航线供读者参考。
图14 进场着陆(第四转弯)模拟
图15 空中加油模拟 五、起落航线 在介绍起落航线之前,我们先来认识一下“Cessna 172P Skyhawk”飞机的仪表面板,如图16所示。常用的仪表有空速表、地平仪、高度表、罗盘(指南针)、航向陀螺仪和协调转弯指示仪。
图16 Cessna 172P Skyhawk 的仪表面板 起落航线是飞行训练的基础科目,顾名思义,它就是航空器按照一定的程序(航线)完成起飞到着陆的一整套过程(如图17)。当然对于玩家来说,完成这么复杂的飞行动作颇具挑战性,不过这也是飞行模拟的魅力所在。
图17 某型飞机的起落航线示意图 图17种给出了起落航线的大致轮廓,对于飞好本航线还是远远不够的,笔者推荐有兴趣的读者访问http://www.cfso.org/train_dep/traffic.htm,这篇文章详细介绍了起落航线相关的飞行知识。 这里笔者对初学者给出几点建议: 1. 飞机的操作有较长的时间历程(有延迟),不能指望它立即对舵面操纵指令做出响应; 2. 操纵动作不能过猛,不要猛推/拉杆和突然正/反向压杆; 3 初学的首要任务是保持好飞机姿态,然后再慢慢尝试机动动作; 4. 着陆要领是在适当高度(低于450米)把襟翼放置在最大位置,发动机油门放到最小(视飞机的姿态灵活的微调油门,但要保持发动机处于慢车状态),保持飞机抬头姿态,自然下沉着陆,不要以俯冲的姿态进入着陆(进近)航线; 5. 操作失败不要灰心丧气,学习一点飞行知识再继续努力。 六、增添机型和场景 FlightGear 官方网站提供了多达70余种机型供广大飞行爱好者选用,从运输机及到战斗机、从最新的F-22到老旧的MiG-15bis,从Being到Airbus,应有尽有,能够满足广大玩家的需求。下载地址为:http://www.flightgear.org/Downloads/aircraft/。机型的安装也很简单,只要解压 .tgz 文件到 Aircraft 目录即可。相信在众多开发的者的努力下,机型的种类和数量将会继续增长。当然,读者也可以导入自己的模型进入FlightGear,试想把我国最新的战机F-10放进FlightGear,那一定很美妙。 飞行仿真离不开模拟场景,逼真的仿真场景往往能极大的提高玩家的兴趣,而 FlightGear 基本程序仅提供了美国旧金山周围一小块空域的场景,如果想在更大范围内飞行,例如从纽约飞往北京,那是不是没有办法玩了呢?不用担心,FlightGear 官方网站提供多达 3 DVD 的全球场景数据供玩家使用。下载地址:http://www.flightgear.org/Downloads/scenery.html。场景的安装与机型的安装类似,只要把 .tgz 文件解压到 Scenery 目录即可。 至此,FlightGear 基本上介绍完了,希望笔者的介绍能够起到抛砖引玉的作用,祝愿大家飞行愉快。
|