EasyFlightSim - моя демо версия

sky_man

Здравствуйте уважаемые господа авиамоделисты.
Т.к я сам отношусь к “крылатому братству” и по совместительству являюсь программистом любителем, решил попробовать написать программку для симуляции полетов моделей. Хотелось бы узнать Ваше авторететное мнение по этому поводу, а именно:
есть ли смысл изобретать и модифицировать велосипед ? Если есть, то я готов продолжить свои начинания в этой области. Выношу на суд форумчан демо версию проекта (ссылка на Web сборку.Необходим Unity Web Player.Его можно скачать здесь.Кнопки управления расписаны в Help’e):
dl.dropbox.com/u/103821616/…/WebPlayer.html
После загрузки в браузер желательно сразу перейти в полноэкранный режим:ПКМ - > GoFullScreen;
В последствии , думаю сделать коммерческую версию, стоимостью ~ 10$(цена пока что очень приблизительна и будет зависеть от трудозатрат и времени программирования ). В коммерческую версию планирую включить:

  • дополнительные модели самолетов и вертолетов
  • автопилот (полет по заданному маршруту и выход на “точку” c указанным профилем полета)
  • полеты по FPV
  • полеты ночью
  • запись и воспроизведение полета
  • игровой режим (полеты по FPV парой, сброс груза (бомб) в заданный район (на точность) или что то типа того)
    а так же другие “фитчи” по желанию . Естественно будет улучшена графика и реалестичность полета.
6wings

Забавно. Очень даже неплохо. Не ожидал ))
Правда, мышью рулить толком не удалось, а пульт не подключал, т.к. не увидел в программе режима назначений стиков.

sky_man

А разве, пульт не распознается как джойстик?Надо будет поработать над этим вопросом.
Я сам пользуюсь gamepad’ом (у него все настройки из под винды) ,а в программе выбираю joy.
Но буду что-то думать …

6wings
sky_man:

А разве, пульт не распознается как джойстик

  1. не все пульты встают в систему как джойстики. Подавляющее большинство модельных пультов имеют только аналоговый РРМ выход (ШИМ) и никакого USB.
  2. вопрос в назначении каналов на рули. У пультов разных производителей одним и тем же джойстикам могут по умолчанию соответствовать разные каналы управления. Не говоря уже об инверсии направлений и разных полётных модах (1-4 для основных 4-х каналов управления). Поэтому во всех коммерческих симах есть:
    а) меню обнаружения и калибровки стиков (центр и крайние значения каждого стика)
    б) меню назначения обнаруженных стиков на рули

В принципе, для пункта (а) можно обойтись калибровкой джойстиков самой винды, но пункт (б) должен обязательно присутствовать в симе.

sky_man

Ага,понял.Будет над чем поработать.У меня,просто, аппа старая не подключается к компу. Приходится обходиться малыми силами. Надо будет что-то думать насчет аппаратуры.

6wings

Вам нужен либо настоящий симуляторный USB пульт (продаётся обычно в комплекте вместе с каким-нибудь бесплатным симом вроде FMS и стоит меньше 1000 руб), либо ключ от какого-либо коммерческого симулятора, имеющий РРМ вход и распознаваемый виндой как набор джойстиков. Последнее, конечно, предпочтительнее.
Есть еще вариант использования аудио-входа звуковой карты для распознавания РРМ с пульта и установки виртуальных джойстиков в систему (например, программка PPJoy - поищите её и соотв. статьи на эту тему), но, как показывает практика, джойстики от неё обычно работают неуверенно и рули слегка “дрожат”.

sky_man

Я думаю сделать так: поднабраться немного мозгов, написать прогу (что-то типа PPJoy) и прикрутить ее к своему симу (конечно все упирается во время, но можно попробовать).Даа,непочатый край работы…

6wings

со всеми этими обычными “ппджоями” есть проблемки. В первую очередь по уровню сигнала, который перегружает вход карты и создаёт лишние гармоники, мешающие распознаванию сигналов. Имейте в виду - надо внешний аттенюатор из пары резисторов.
С ученического выхода передатчика прёт РРМ-сигнал амплитудой 3-5 В, а чувствительность линейных входов карт где-то 0.3-0.5 В.
Т.е. ослаблять надо на порядок. По-моему, никто этого не делает - все рассчитывают на регулятор входного сигнала самой карты. Но он обычно стоит не ДО первого каскада, а гораздо позже - уже в цифровом тракте. Поэтому входной каскад и АЦП карты гарантировано перегружены.

sky_man

Да, сигнал, однозначно придется загрублять.Я уже “нагуглил” информацию по этому вопросу,но это не самое главное.Вопрос в том как программно обработать сигнал от пульта и сделать его(сигнал) понятным симу. Придется браться за умные книги и пилить,пилить и пилить.

6wings

ну, там может оказаться всё не так уж и сложно… Я когда-то давным-давно написал программу для АОН на 4-х битном микроконтроллере… 100 лет назад )) Обошелся без Фурье - места не было и быстродействие не позволяло. Просто паттерны распознавал. И всё прекрасно работало - даже пошло в серию ))
Попробуйте и Вы что-нибудь в таком же духе.

А вообще, я бы Вам не советовал тратить на это время. Лучше симом займитесь и сделайте в первую очередь назначение системных стиков на рули. А пульт пусть будет USB. Купите, всё равно пригодится. У меня таких даже 2 - один живёт в сумке с ноуом, второй стоит дома на полке ))

sky_man

Спасибо, куда копать я уже понял.Закончу со стиками выложу новую демку.

sky_man

Да, штука несомненно полезная (респект человеку ее создавшему),но в моем случае вопрос стоит в том, как в самом симе сконфигурировать стики,кнопки пульта (опознанного как джойстик), а уже как подключить пульт к компу - дело сугубо индивидуальное.

8 days later
8 months later
sky_man

Итак,джентльмены, представляю следующую версию сима:
dl.dropboxusercontent.com/u/…/WebPlayer.html
Модели FlyWing 2 и Su26 2 с улучшенной аэродинамикой (есть возможность планирования с выключенным двигателем,но пока что без режима сваливания и штопора).После посадки - торможение,кн. A.
В моделях FlyWing 2 и Su26 2 есть автопилот (вкл.-выкл. кн. R, Z,X переключение ППМ(поворотных пунктов маршрута см. HELP)
Модель MQ9 reaper, в стадии разработки (там будет возможность полетов ночью).
В планах,
-добавить парочку моделей вертолетов.
-улучшать графику.
-добавлять модели.
-“оттачивать” аэродинамику.
-сделать билд под андроид.
Хотелось бы услышать от фороумчан мнение, по поводу сима и в каком направлении “копать”.Спасибо за авторитетное мнение и критику.

Dhole

[скромно мнёт в руках кепчонку]

sky_man:

-улучшать графику.

А можно штоп 1920х1200 разрешение? - как-то не нашёл.
Ну и ФПВ хочу! )))

sky_man

А можно штоп 1920х1200 разрешение? - как-то не нашёл.
Ну и ФПВ хочу! )))

Дело в том ,что сама web сборка режет разрешаловку до 800x600.В сборке под винду есть режим 1024х768(это в триальной версии двига Unity).В pro версии есть режим 1920х1200,но она стоит 1,500$.
Улучшать графику думаю с помощью увеличения детализации текстур и применения шейдеров.
Что касаетя ФПВ то это в будущих ближайших планах.

6wings

а как оно летит-то? - Не нашёл, чем мотор запустить. Хотя, элероны, вроде, шевелятся…

6wings

Сделайте, плз, полноценную страничку (странички) хелпа по кнопочкам/мышке/джойстикам. А то без этих “мелочей” баловство какое-то получается - всё надо угадывать. И еще совершенно неясно - можно ли нормальный симуляторный USB пульт подключить с двумя джойстиками. (Джойстики надо ОБЯЗАТЕЛЬНО уметь калибровать! По мин/макс/центру)
Вот тогда и полетаем. И впечатления изложим.
А вообще - просто молодец! Хорошо, что не забросили это дело!

sky_man

Итак, собственно хелп:
При управлении клавиатурой или мышью:
Q – увеличение оборотов двигателя
A- уменьшение оборотов двигателя
W – уменьшение фокуса камеры(удаление)
E – увеличение фокуса камеры(приближение)
R – включение-выключение автопилота(только для моделей FlyWing 2 и Su26 2),удобно использовать если попал в сложное положение. При включении автопилота, модель выводится на заданную высоту и рулит на ППМ, обозначенный номером PPM. При пролете указанного ППМ, автопилот переключается на следующий пункт маршрута автоматически, но можно переключать в ручную. При включенном автопилоте обороты двигателя – не регулируются.
X – переключение на следующий ППМ
Z - переключение на пред идущий ППМ
Пользоваться кнопками Z, X надо осторожно потому что автопилот сам меняет высоту и курс полета и может загнать модель в гору.
Что касается настройки джойстика.
Желтые слайдеры показывают активные оси джойстика(axe1 – axe8). С левой стороны расписаны рулевые поверхности(ailerons - элероны, elevator – руль высоты, rudder – руль направления, engine thrust – тяга двигателя) и соответствующие им оси джойстика (зелеными цифрами). Активные оси джойстика, соответствующие рулевым поверхностям, необходимо вводить в ручную в соответствующем окне (окно выбирается мышкой).
Например :
Если при отклонении джойстика по крену (как правило это ось Х), активен слайдер axe1, то в окно ailerons вводится 1.
Если при отклонении джойстика по тангажу (как правило это ось У), активен слайдер axe2, то в окно elevator вводится 2.
Если при отклонении стика, который вы хотите назначить для регулировки оборотов двигателя, активен слайдер axe3, то в окно engine thrust вводится 3.
Если при отклонении стика, который вы хотите назначить для управления рулем направления, активен слайдер axe4, то в окно rudder вводится 4.

И еще совершенно неясно - можно ли нормальный симуляторный USB пульт подключить с двумя джойстиками. (Джойстики надо ОБЯЗАТЕЛЬНО уметь калибровать! По мин/макс/центру)

6wings подскажите какой у вас пульт.Я постараюсь придумать как реализовать подключение и калибровку в симе. И на его примере подключать другие типы пультов.

Вроде бы все. Если, что то упустил – спрашивайте. Отвечу всем.

6wings
sky_man:

6wings подскажите какой у вас пульт.Я постараюсь придумать как реализовать подключение и калибровку в симе. И на его примере подключать другие типы пультов.

USB пульт самый бананальный - от FMS, есть, правда еще целая туча пультов, работающих через разные USB ключики (защиту от копирования симов) через РРМ, но это вторично.

Самый простейший пульт - что-то вроде этого: www.rc-ocean.ru/4423361.html

sky_man

6wings спасибо за ссылочку. Надо будет прикупить. “Обкатаю” пульт-напишу свое впечатление и есть ли возможность “прикрутить” его к моему симу.

6wings

если у программы есть возможность опрашивать стандартные системные стики - наверняка успешно прикрутите.
Единственно, о чём следует подумать кроме калибровки - о свободном назначении стиков на каналы (но, по-моему, это и так у Вас уже есть?) т.к. мне попадались некоторые “странные” USB пульты, у которых, например, среди обычных 4-х каналов вместо 4-го использовался почему-то 5-й. Четвертого же не было вовсе. В частности, у меня дома сейчас как раз лежит такой )) Но это ничему не мешает, т.к. во всех профессиональных симах (AFPD, AF5, Phoenix, RF) стики всегда легко переназначаются на любые рули в специальном меню.