FlightGear

Материал из База знаний
Перейти к: навигация, поиск

FlightGear — свободный авиасимулятор с открытым исходным кодом. Распространяется на условиях лицензии GPLv2. Работает на платформах Microsoft (R) Windows (TM), GNU/Linux, Mac OS, FreeBSD, IRIX, Solaris и др.

FlightGear дает свободу. Вам не надо ждать, пока разработчики выпустят следующий большой релиз и надеяться, что он будет включать в себя функционал, который вы хотели бы иметь в симуляторе. Вам не придется ждать разработчиков летательных аппаратов, пока они создадут и добавят в FlightGear ваш любимый самолет. Вы можете сделать все это сами (и это может быть частью вашей учебы или работы), либо сотрудничать с разработчиками FlightGear.

FlightGear дает контроль. Что-то не нравится? Измените это и поделитесь вашими наработками и идеями с сообществом FlightGear. Вы можете влиять на курс развития и разработки, который формируется сообществом FlightGear, но вы также можете полностью перестроить его согласно своим потребностям, если у вас появится такое желание и потенциал.

FlightGear - гибкий проект. Он, конечно, может использоваться просто для приятного времяпровождения, но он также используется учреждениями и институтами для серьезных исследований аэродинамики.

Возможности

в FlightGear можно летать экипажем

Технически FlightGear позволяет осуществлять совместное управление самолетом и летать по сети экипажем. Практически это реализовано на нескольких моделях - на Cessna 127P, Blackburn Buccaneer, Grumman F-14 Tomcat и на дирижаблях Submarine Scout и Zeppelin NT. Также есть планы по внедрению управления экипажем на ПТ Ту-154Б. (подробнее на англ.)

FlightGear имеет подвижную камеру обзора

Вы можете как угодно крутить "головой", двигаться по кабине/салону в любом направлении, пересаживаться с одного места на другое. Симулятор позволяет добавить неограниченное количество своих "видов". Наиболее наглядно это реализовано в проекте портирования ПТ Ту-154Б, где нажимая цифры 1-2-3-4-5 вы перемещаетесь на место КВС, второго пилота, штурмана или бортинженера, а нажатие тильды (~) "приближает" определенный участок приборной панели самолета. Камерой можно управлять с помощью скриптов.

FlightGear умеет разделять изображение по нескольким мониторам

Графический движок OpenSceneGraph, на основе которого работает FlightGear, позволяет использовать несколько мониторов/проекторов для вывода графического изображения.

FlightGear умеет включать реальные ветры на эшелонах

Небольшое расширение позволяет использовать реальные данные о направлении и силе ветра на больших эшелонах. Данные берутся с сервера Jeppesen.

в FlightGear можно "цеплять" и "тянуть" планеры

В трех летательных аппаратах реализована возможность цеплять и тянуть планеры (Beaver, Rallye-MS893E, J3), а три модели планеров могут к ним цепляться (ASK21, Bocian, DG-300). Цепляться можно как в онлайновом мультиплеере, так и в оффлайне с помощью AI-бота. (подробнее на англ.)

FlightGear имеет мощный встроенный скриптовый язык программирования

Скриптовый объектно-ориентированный язык программирования Nasal имеет синтаксис, схожий с ECMA/JavaScript, Python и Perl. Он позволяет сильно расширить возможности моделей летательных аппаратов, используя сложные логические условия, циклы и функции. Гидро- и электро-системы могут быть реализованы в крайней степени реалистично, благодаря Nasal.

FlightGear позволяет осуществлять дозаправку в воздухе

В симуляторе реализованы два самолета-заправщика (KC135-E, KA6-D) и несколько самолетов (A4F, A-6E, A-10, F-14 Tomcat, Lightning, F-117 Nighthawk и T38), которые могут заправляться от них в воздухе. Заправка может осуществляться как в онлайне, когда заправщиком и заправляемым управляют два реальных человека по сети, так и в оффлайне, запустив соответствующий сценарий при запуске FlightGear. (подробнее на англ.)

FlightGear имеет встроенный веб-интерфейс, телнет и сервер скриншотов

Запустив FlightGear с соответствующими параметрами, к нему затем можно подключиться различными способами. Включив веб-интерфейс, вы (или кто-то другой по сети) можете "зайти" в параметры FG с помощью любого веб-браузера, исследовать дерево свойств, изменить необходимые значения. Включив телнет-сервер вы можете подключить к симулятору программу или скрипт, используя протокол Telnet. Включив JPEG-сервер вы можете: расшаривать текущий обзор (статично); расшаривать текущие скриншоты в виде слайд-шоу (динамично) на веб-страничке; автоматически делать скриншоты с определенной периодичностью и сохранять их в локальную директорию.

FlightGear позволяет создавать собственные протоколы обмена данными

Симулятор позволяет создавать произвольные протоколы обмена данными на основе сетевых протоколов TCP и UDP, либо сохранять в файл необходимые данные в необходимой форме с необходимой периодичностью (например, для моделирования МСРП). При этом протоколы могут быть как текстовыми (ASCII), так и бинарными. Создание собственного протокола осуществляется в стандартной для FG форме - при помощи обычных XML-файлов. (подробнее на англ.)

FlightGear использует несколько уникальных моделей динамики полета

Первые версии FG основывались на модели динамики полета (FDM) LaRCsim, созданной NASA. С 2000 года моделью динамики по-умолчанию стала JSBSim. Для просчета динамики полета она использует введенные в конфигурацию модели параметры о поведении реального ЛА в соответствующих условиях. В 2002 году добавилась ещё одна модель динамики - YASim. Эта FDM просчитывает динамику полета на основе просчёта поверхностей ЛА. Модель динамики UIUC, разработанная Applied Aerodynamics Group в Университете Иллиноиса, также используется в FlightGear. Изначально эта FDM разрабатывалась для проекта Smart Icing System Project. FLightGear может также использовать данные внешних FDM в качестве источника динамики полета, например, данные из программы Matlab. Существует также модель динамики, используемая для летательных аппаратов легче воздуха (аэростатов). В целом же FG позволяет моделлерам крайне реалистично воссоздать динамику полета ЛА и поддерживает авторотацию, воздушную подушку, любое количество двигателей и многое другое. (подробнее на англ.)


История

Проект был создан в 1996 году, а в 1997 года вышел первый релиз симулятора, основанный на OpenGL. Проект возглавляется Кёртисом Олсеном (Curtis Olsen). В декабре 2007 года вышел последний релиз, основанный на графическом движке Plib - версия 1.0. 21 декабря 2008 года вышел релиз 1.9, основанный на новом графическом движке - библиотеке OpenSceneGraph (OSG).

Версия 1.9

Версия FlightGear 1.9.0 выпущена на основе кода, основательно переписанного за два года. После выпуска релиза 1.0.0 в декабре 2007 года, сообщество разработчиков FlightGear направило все свои усилия на завершение работы, начатой в октябре 2006, когда было принято решение о создании ветки, основанной на новом графическом движке — библиотеке OpenSceneGraph. Данный движок расширяет графические возможности симулятора FlightGear.

Релиз 1.9.0 содержит много новых замечательных возможностей, некоторые из которых перечислены ниже:

Основные улучшения
  • Тщательный пересмотр графической части кода, учитывая переход на библиотеку OpenSceneGraph
  • Простая настройка мульти-дисплейных систем при единственном запущенном процессе FlightGear
  • Многопоточная подгрузка 3D-моделей
  • Природные осадки, основанные на новой системе частиц (particle system)
  • Новые динамически настраиваемые 3D-облака
  • Анимация "pick", позволяющая создавать более удобные кликабельные панели инструментов
  • Изменения в графическом меню для удобства полетов на онлайн-серверах
  • Теперь можно запускаться с парковки, а не с взлетно-посадочной полосы
  • Рендеринг деревьев и леса, основанный на шейдерах (shader)
  • Поддержка PNG-текстур (раньше можно было только SGI/RGB)
  • Более 200 типов самолетов теперь доступны для скачивания
  • Появились линии электропередач
  • Возможность летать в строе с ведомыми, управляемыми компьютером самолетами
Улучшения в коде
  • Улучшена динамика полета
  • Небольшие изменения в анимации
  • Улучшено поведение AI-самолетов при рулении
  • Множество изменений в графическом интерфейсе
  • Значительно улучшен код, отвечающий за полеты по маршрутам
  • Улучшена безопасность Nasal-кода (скриптового языка)
  • Улучшена поддержка GPS-приборов
  • Создавать AI-объекты стало проще
  • Берега в сценариях стали ещё более точными

См. также

Ссылки