仿真性特、很低的硬件要求(集成顯卡即可流暢的運行)和極高的專業性風靡于 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 基本上介紹完了,希望筆者的介紹能夠起到拋磚引玉的作用,祝愿大家飛行愉快。 |