Самодельный фмс

Pa5ha

Вообще, давно у меня уже витает идея написать свой симулятор. Начал уже вроде как давно. Да что-то работа встала. Буду курсовик брать, так попробую эту тему взять, да дописать. Есть ли подобные открытые проекты? Никто из Вас не пытался заниматься подобным?

Vitaly

Пытался. Резюме - флаг в руки и барабан на шею. То что нормально для курсовика, не есть гуд для реального дела. Очень большой объем работ. Пытался подбить FMS-ников на open source перейти, делал им инсталлятор в свое время, кабели интерфейсные разрабатывал. В общем, затыкал дыры, из-за который FMS нельзя было назвать “продуктом”.

Общей проблемы это не решает. Надо модели рисовать грамотные. И площадки. А потом еще и физику подгонять под реальные аппараты. Задача не студенческого уровня. Килобаксов на 5, при условии что крупно повезет, и без вертолетов.

Это без учета того, что надо делать работу по сети, погодные параметры, обучающие записи полетов и т.д. Без этого до уровня современных симуляторов добраться шансов нет. А если делать хуже - дык уже FMS есть.

1 month later
Pa5ha

Появилось желание дописать до этого безобразия физический движок. Хочется послушать Ваши мнения по поводу того, какие плоскости самолета следует учитывать при расчете физики.

Albert

Что значит - какие плоскости? Что, будет интегрирование уравнений движения (центра масс и угловых)? Обычно модель считают материальной точкой, коэффициент подъемной силы - из таблицы ( в завис. от отклонения рулей), и вперед.

Pa5ha

Но ведь на стабилизацию полета имхо влияет не только киль, стабилизатор, но и боковая поверхность фюза, и дно. Есть смысл учитывать это, или их значения столь малы, что почти незаметны?

Albert

Разумеется, влияет все (кстати, что подразумевается под дном?). Но как учесть - данных по аэродинамическим коэффициентам нет. Кроме того, для достоверного моделирования надо правильно задать аэродинамическое демпфирование, а тут уже нужно учитывать и присоединенную массу воздуха, аэродинамику нестационарного обтекания, и прочее, и прочее…
Короче - задача настолько сложная, что в симуляторах применяют упрощенные модели с эмпирическими зависимостями и подбором соответствующих коэфициентов. Дай бог реализовать хоть какой-нибудь работоспособный аналог FMS…

Pa5ha

Тренера делаю, там есть дно 😃

Щас я только переварю с помощью словаря все сказанное 😃 Надо теперь у игростроителей проконсультироваться…

ФМС мне не нравится т.к. он написан на дельфи икс, площадки ацтойные (малодетализированные), физика и модель коллизий тоже оставляют желать лучшего, модели тоже не очень.

Учитывая все вышесказанное, мне все же не перестало казаться, что физика - нечто мегасложное, модели для гта я делал, конвертил. Опыт так сказать есть 😃 Модели до тысчи полигонов - не сложно. Погода - в физику, обучалка - записи полетов не думаю, что сложно сделать, хоть и не делал пока.

В общем, надо будет собрать команду энтузиастов. Пока, ориентировка у меня на RC plane master. Сделать нечто похожее.

Vitaly

FMS такой, потому что бесплатный 😃 . Некому заниматься им всерьез. И так будет с любым симулятором. Начните с графики хотя бы. FMS понимает стандартные directx-овские X-файлы. Попробуйте нарисовать хотя бы 1 стоющую модель для начала.

Gold

кстати, а что это за прикол в симуляторах? если руль направления дергаешь, хвост резко уходит в сторону, а потом уже начинает потихоньу доворачиватся, отпускаешь - отдергивается обратно, как на резинке. раньше я думал это причуды математики fms, но теперь узрел такое же и в rf-g3… это что, реальное поведение самолета (я такого ни разу не замечал) или просто схожие упрощения математики в симуляторах (типа усточивость по направлению сделали ‘резиновой’)?

Concord
Gold:

кстати, а что это за прикол в симуляторах? если руль направления дергаешь, хвост резко уходит в сторону, а потом уже начинает потихоньу доворачиватся, отпускаешь - отдергивается обратно, как на резинке. раньше я думал это причуды математики fms, но теперь узрел такое же и в rf-g3… это что, реальное поведение самолета (я такого ни разу не замечал) или просто схожие упрощения математики в симуляторах (типа усточивость по направлению сделали ‘резиновой’)?

Странно, что не замечали. Таков механизм работы руля направления. При его отклонении сначала создается боковой угол рыскания на фюзеляже, появляется аэродинамическая сила, действующая на боковую пов-ть самолета, а только потом начинается его разворот с кренением в ту или иную сторону. В зависимости от соотношение боковой и поперечной устойчивости. При возвращении руля в 0 сначала угол рыскания возвращается в ноль, пропадает боковая сила и самолет выходит из разворота.

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

ADF

😈 Тема волнующая, вставлю и свои 5 копеек:

Написать реальный симулятор очень просто (!!!) - для этого нужно офигенное желание и кучу времени 😛

Сам активно пишу движки под опенГЛ, вообще разбираюсь в графике, в физике тоже шарю - делал довольно сложные физические модели, и имею очень четкое представление о том, как максимально бычтро и эффективно реализовать модель самолета. НО!!! Без последующей подгонки и калибровки НЕ обойтись в любом случае - а рисование самих моделей и площадок - вообще ОТДЕЛЬНАЯ статья работ. В крупных фирмах для этого есть специальные дизайнеры. Одному такой проект тяжело. Но все же можно. Вон, Сид Мэйер же “цивилизацию” написал?

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

Но все же еще раз: если у вас уже есть опыт моделирования физики на компьютере - написание симулятора - лишь вопрос желания и времени. Правда, желания очень большого. Ибо чисто по времени - когда знаешь, что куда и как - выходит около 500 человек\часов (по моим скромным авторитетным прикидкам 😈 ) не считая дизайнерской работы и бесконечного тестирования + глюковыковыривания.

Vitaly

Хе-хе… Получается, 4 месяца полной работы одного человека, “не считая…”. Ню-ню. Я б такому человеку из своих денег 4 месяца платил. Или даже год. Вот только маленькию нюансик… какая-то некислая ошибка в подсчетах. А получать жалкое подобие FMS как-то не хочется.

Pa5ha

ADF, согласен целиком и полностью 😃

А с джойстиком - там все просто. Есть класс. Вызываешь метод чтения с контроллера джоя. Юзаешь joy.x, joy.y 😃 Как два пальца 😃

Ну и ясен пень, модели для гта сан андреас не програмисты рисовали (вообще, я ужаснулся, когда все это увидел. Этож какая там команда) 😃 И даже для гта 3 тоже не программисты 😃 Вот для дюка нюкема вроде программисты 😃

Сейчас опенгл изучаю. Пока ещё не активно. В общем, первый блин комом получится, чуввствую, как всегда 😃 Но будем стараться

ADF

Скорее, у меня проблема с тем, что самого джойстика нет 😃

Кстати, вот одна из моих разработок, как раз примерно 500ч по трудоемкости. Немного не в тему, но все же может кому интересно…

esf033.zip

10 days later
Pa5ha

Я б такому человеку из своих денег 4 месяца платил.

Вас можно поймать на слове? 😁

для этого нужно офигенное желание и кучу времени

Кстати, время у меня есть. Я в академке 😃 Ещё полгода 😃 А желание, вроде как тоже присутствует 😃

ADF, кстати, прикольно! 😃

Vitaly, по каким критериям Вы разделяете симуляторы на фмс/не фмс? Вдруг удастся ошибок фмс избежать… 😃

NailMan

ADF
Не надо так делать!(в хорошем смыле фразы) Ты меня убил. Все, после дописания новой версии своего видеоплеера буду делать нечто подобное на своем недописанном игровом движке…

ЗЫ: рублюсь уже в этот космоквейк второй час…

Vitaly
Pa5ha:

Кстати, время у меня есть. Я в академке 😃 Ещё полгода 😃 А желание, вроде как тоже присутствует 😃

Надо не только желание, а еще и умение. Составьте техническое задание и план работ, а потом попробуйте хотя бы 1 модельку качественно нарисовать, и сразу увидите, как этот план с треском провалится. Так что ловить меня на слове не понадобится 😃 .

toxa
ADF:

Кстати, вот одна из моих разработок, как раз примерно 500ч по трудоемкости. Немного не в тему, но все же может кому интересно…

Прикольно, но до даже уровня FMS еще очень далеко. 😃 Но все же это больше, чем ничего. Джойстик могу подарить.

ADF

Прикольно, но до даже уровня FMS еще очень далеко. Но все же это больше, чем ничего. Джойстик могу подарить.

Насчет до ФМС далеко - тут можно спорить 😒 В фмс по сути - лишь модели нарисованы, да простенькая (явно не навороченая 😛 ) физика саломета. А у меня - практически полный просчет физики взаимодействий. Полноценный графический движек, по сути. Просто над портированием моделей из 3Д макса пока не заморачивался - решал более общие задачи программирования

Джой не надо - захочу, сам куплю. Но на очереди - новая мышь с хорошим DPI и двойным опто сенсором 😃

toxa
ADF:

В фмс по сути - лишь модели нарисованы, да простенькая (явно не навороченая 😛 ) физика саломета. А у меня - практически полный просчет физики взаимодействий.

Определение коллизий что у вас, что в fms - одинаково. Что касается физики, то в FMS она какая-никакая есть, а в вашей демке ее нет вообще. Нет инерции, нет тяги двигателей - такое ощущение, что материальная точка без массы движется в пространстве. Вообще никак физика не реализована. Физика она и в космосе действует. Например откопайте где-нибудь старые игры для pc elite2 или elite3 - поизучайте модель.

ADF

2 toxa:

  • Это все от ума у вас перегруз 😃 Вы бы сначала задались вопросом, какие цели я преследовал создавая эту игру?

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

Тем не менее, все тела обладают не только массой, но и моментом инерции - от выстрелов все объекты (кроме статических) раскручивает. Не говоря уже о том, что есть математика вычисления точных мест попаданий (если не заметили) - все выстрелы покадают именно в поверхность корабля, а не в сферу или куб вокруг него.

В ФМС этого явно нет - там детектируется лишь сам факт пересечения, и то, скорее всего, с коробками. А пересечение с ландшафтом - вовсе детская задача! Весь труд там ушел на рисование, интерфейс и подгонку физ. модели, как я понимаю.

Физику самолета, особенно если в виде материальной точки - добавить несложно. Просто не хочу пока симулятор делать.

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

Vitaly

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

NailMan

Vitaly
Зря вы так говорите, написание даже простого графического движка с инерционной моделью - есть задача нетривиальная. Я на свой далеко незаконченный движок потратил 3 года. И то забросил его по причинам смены хобби на RC(ноне забил на программы насущные типа плеера) - слишком много чего надо учитывать и реализовывать.

ФМС альфа8.5 уже далеко не поделка и физ модель там очень сложная. Посмотрите на редактор его параметрических моделек сделанных японцем(у себя держу на всякий случай) - и все станет ясным. Настроенная этим редактором моделька моего собственного самолета(с одновременным моделлингом в Lightwave) дал практически идентичный результат его полета что в симе что в реалии. Вот и вот.

Я считаю что сделать реально, но для этого автору топика нужна помощь(советами или делом) знающих в деле написания 3Д симов людей чтобы реализовать хотя бы такую же физ. модель как у ФМС альфа8.5, таких как ADF - я в этом убедился. Я уже лет 6 оцениваю игры с точки зрения разработчика и вижу где что и сколько труда вложено в программу.

Vitaly

А чего я такого говорю? Я, в отличие от автора и ADF как раз более реально представляю сложность проекта. И я не выдвигаю идей, что у меня под столом лежит хреновина, которую осталось акварелью раскрасить, леску привязать и будет симулятор.

Я тоже считаю, что симулятор сделать реально. Лучше чем FMS. Надо врего лишь год времени и 100 килобаксов 😃

ADF

Приношу извинения, если кого ненароком оскорбил 😃

но вообще я имел ввиду следующее: сами алгоритмы построения физической модели известны - но как известно “дьявол кроется в мелочах” - самая сложная часть - подбор параметров модели (коэффициентов), чтобы она была адекватна реальности. Именно в этом - сложность создания симулятора! Описать саму физику самолета, со всеми основными свойствами - достаточно просто, но сделать так, чтобы этот самолет был похож по поведению на конкретную реальную модель - долгий и упорный труд.

Насчет самого ФМС: если честно, версию 8 с хвостом не юзал, но в предыдущей, 7 с чем-то, физика модели была посредственная, несмотря на уйму параметров. Особенно выпирали недостатки при малых скоростях полета - 3Д вообще не реально тренировать. Хотя, при полете на скорости самолет вел себя очень реалистично…

Лично перед собой я не ставлю цель создания симулятора. Пока. Хотя и считаю эту задачу интересной и достойной того, чтобя ею заняться, даже ради просто интереса 😃