zxc 发表于 2011-9-6 09:43:52

FlightGear 入门

仿真性特、很低的硬件要求(集成显卡即可流畅的运行)和极高的专业性风靡于 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仪表板开关C2D/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 + NNAV 开关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 基本上介绍完了,希望笔者的介绍能够起到抛砖引玉的作用,祝愿大家飞行愉快。相关的网站:FlightGear 官方主页及官方下载地址http://www.flightgear.orghttp://www.flightgear.org/Downloads/Magic Linux 提供的 FlightGear 二进制包及其依赖软件http://www.magiclinux.org/dev/2.0/cd2/RPMS/Game/http://www.magiclinux.org/dev/2.0/cd2/RPMS/Game/supportlib/

nwpuak 发表于 2011-9-7 16:30:10

谢谢分享。降落一直很痛苦。。

环球快车 发表于 2011-9-7 18:27:52

nwpuak 发表于 2011-9-7 16:30 static/image/common/back.gif
谢谢分享。降落一直很痛苦。。

有空多交流啊,互相学习,这款游戏还是不错的。

wjxhbt 发表于 2011-9-30 09:53:26

学习!!!!

归航/发呆 发表于 2011-11-22 20:33:44

盼望能早日起飞。

jinchengde 发表于 2011-11-24 13:30:27

Curt Olson
不是玩家,是整个项目的发起人

wywmnfx 发表于 2011-12-7 22:06:07

还是要多多学习。

gh000792 发表于 2011-12-28 01:43:56

:)还是要多多学习

独钓寒江雪 发表于 2012-2-23 20:59:46

非常好的资料

zlycc2012 发表于 2012-2-26 15:07:55

好好学习天天向上。。
页: [1] 2 3 4
查看完整版本: FlightGear 入门