Задать вопрос
@Saper333321
недоучившийся радиоинженер

Как сделать физику в игре про вертолёты?

Вертолёт отталкивается от воздуха же винтами?
Нужно сделать физику воздуха?
воздух это газ
  • Вопрос задан
  • 106 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Можете, конечно, сделать моделирование воздушных потоков с разным составом газов, их температурой, а так же физику отталкивания винтом от воздуха при противодействии гравитации и других сил, при наличии у вас под рукой мощного суперкомпьютера и соответствующего ПО. А вот в играх обычно винт представлен простенькой анимацией или статической текстурой с некоторыми эффектами, а вот вертолёт двигает игровой движок по простейшей формуле расчёта скорости и ускорения в зависимости от текущего состояния пользовательского ввода. Как и любой другой игровой объект. Воздуха в абсолютном большинстве игр нет и всякая трава и деревья колышутся по простейшим формулам с некоторой рандомизацией для того, чтобы оно было более-менее похоже на ветер.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Моделировать воздух как газ в игре - это конечно сильно. Пойдёт, если ты собираешься на суперкомпьютере NASA играть)

Если нацеливаешься на что-то более массовое - нужно моделировать что-то более абстрактное и приближённое, типа гравитации/тяги/сопротивления воздуха.

Из атмосферы тебе важно только давление, температура и влажность (они будут влиять на обороты ротора, сопротивление воздуха, и то как из оборотов получается тяга)

А от самого вертолёта/самолёта тебе нужно:
1. Центр масс (и сама масса. Меняется при расходе топлива)
2. Центр давления (меняется при управлении, изменении управляющих плоскостей)
3. Вектор тяги (Зависит от оборотов ротора, атмосферы, шага лопастей.)

А ну и ещё вращение

Более подробно - нужно читать руководства (вероятно даже на конкретный аппарат) и учить физику.
Чем более реалистичный тебе нужен полёт, тем больше разных взаимодействий придётся рассчитывать.
Ответ написан
Комментировать
@Alexander_han
Зачем так потеть, можно просто сделать через bool если он равен true взлет, иначе сажать вертолёт. То что ты предложил скорее всего будет зависать и не работать из-за производительности.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы