Prosty symulator lotu

10

W symulatorze lotu 3D z poziomem realizmu Crimson Skies (jak na poziomie zręcznościowym, a nie realistycznym), w jaki sposób określasz ruch samolotu przy każdym tyknięciu zegara w grze?

(Crimson Skies to arkadowy symulator lotu: http://youtu.be/OWmYt0LZDnU?t=3m )

Zakładam, że gra postępuje w ustalonych krokach, a każdy krok poruszający się obiekt porusza się w linii prostej ze stałą prędkością od aktualnej pozycji do następnej.

Jakie podstawowe parametry byłyby potrzebne do określenia masy, prędkości, przepustnicy .etc. Jak byś je połączył?

Będzie
źródło
Ciekawe pytanie, ale czy nie jest zbyt szerokie? To znaczy, pyta o ziarniste szczegóły dynamiki symulacji samolotu. Czy oprócz numerycznej integracji momentów obrotowych i przyspieszeń istnieje coś szczególnego, na co powinna odpowiedzieć odpowiedź? Osobiście wolałbym unikać momentów obrotowych i przyspieszeń w celu zmiany trajektorii, ponieważ są trudniejsze do pracy i oferują doświadczenie, którego nie lubi zwykły gracz (mechanika gry wykorzystująca efekty bezwładnościowe jest trudna do poprawienia).
teodron
Powinieneś zdefiniować, co tak naprawdę oznacza „Realizm szkarłatnego nieba”, ponieważ są ludzie (tacy jak ja), którzy nie grali w tę grę i są obecnie wykluczeni z udzielania odpowiedzi.
Filip
3
Czy nie jest to w istocie „Jak wdrożyć fizykę?”?
MichaelHouse
1
Z mojej odpowiedzi tutaj jest to ta sama rada, której udzieliłem na to pytanie: iteracyjne testy empiryczne. Dodaj suwaki testowe do GUI, które kontrolują różne parametry, które chcesz przetestować.
MichaelHouse
3
„Fizyka” + „Symulator” + „Prosty” Wybierz dowolne dwa. Powodem, dla którego nie można znaleźć łatwych przykładów symulatorów lotu, jest to, że lot kreskówkowy jest oszukany i przekształca się w prosty kontroler postaci, podczas gdy nawet minimalne symulacje wnikają głęboko w fizykę i są trudne do utrzymania.
Patrick Hughes,

Odpowiedzi:

22

Aby zrozumieć, jak symulować lot aerodynamiczny, najpierw trzeba zrozumieć, które siły wpływają na ruch statku powietrznego. Rzeczywista trajektoria samolotu jest sumą wszystkich tych efektów fizycznych:

Pierwsza i druga zasada ruchu Newtona

  1. Obiekt porusza się ze stałą prędkością, chyba że działa na niego siła.
  2. Przyspieszenie ciała jest wprost proporcjonalne do siły netto działającej na ciało i w tym samym kierunku, a odwrotnie proporcjonalne do jego masy. Zatem F = ma, gdzie F jest siłą netto działającą na przedmiot, m jest masą obiektu, a a jest przyspieszeniem obiektu.

Ciąg silnika

Nacisk silnika to siła, która przyspiesza samolot do przodu i zwykle może być kontrolowany przez gracza. Przyspieszenie to moc silnika podzielona przez masę samolotu.

Powaga

Grawitacja stale przyspiesza samolot w dół z prędkością 9,81 m / s². Teoretycznie grawitacja zmniejsza się, gdy wznosisz się wyżej, ale na wysokości, na której działają normalne samoloty, można to zignorować.

Opór aerodynamiczny

Im szybciej samolot się porusza, tym bardziej tarcie atmosferyczne go spowalnia. Jest to reprezentowane przez siłę przyspieszającą w kierunku przeciwnym do bieżącego kierunku, w którym porusza się statek. Siła wzrasta kwadratowo wraz z prędkością (podwójna prędkość = czterokrotność siły oporu). Ale im wyżej samolot leci, tym cieńsza jest atmosfera i mniejsza siła oporu. Maksymalna prędkość statku powietrznego polega na tym, że siły generowane przez ciąg silnika i opór aerodynamiczny wzajemnie się znoszą.

Może to zabrzmieć w sposób sprzeczny z intuicją, ale posiadanie silniejszej stałej oporu sprawi, że twoja gra będzie łatwiejsza do grania (bardziej zręcznościowa), ponieważ opór jest siłą, która powstrzymuje samolot przed lotem w kierunku, w którym gracz nie chce latać już (jak podczas latania na zakręcie). Zatem większy opór = wolniejsze i bardziej zwrotne samoloty. Możesz to jeszcze poprawić, zwiększając opór, gdy występuje różnica między kierunkiem lotu a kierunkiem ruchu samolotu (nie jest to nawet nierealne - profil aerodynamiczny samolotu jest zoptymalizowany pod kątem najmniejszego oporu powietrza, gdy samolot leci prosto ).

Winda aerodynamiczna

Jest to siła, która powoduje, że samolot leci. Jest generowany przez skrzydła. Im większa powierzchnia skrzydła, tym większy jest wzrost siły nośnej i przyspiesza samolot do góry (względem skrzydeł, a nie do ziemi. Kiedy samolot toczy się na boki, winda również przyspiesza go na boki). Podobnie jak opór atmosferyczny, podnośnik jest zależny od prędkości i gęstości atmosferycznej.

Powierzchnie kontrolne

Płaszczyzna kontroluje swój kierunek za pomocą różnych powierzchni sterujących dla pochylenia, odchylenia i przechylenia. Powierzchnia kontrolna działa tylko wtedy, gdy samolot się porusza. Jego wydajność jest proporcjonalna do aktualnej prędkości i gęstości atmosferycznej. Należy pamiętać, że powierzchnie kontrolne zmieniają tylko kierunek, w którym wskazuje płaszczyzna, a nie kierunek, w którym się porusza. Wpływa to na kierunek ciągu i podnoszenia, a tym samym stopniowo na kierunek ruchu.

Philipp
źródło
1
Mały: moc (wskaźnik energii) rośnie wraz z sześcianem prędkości. Siła oporu jest proporcjonalna do kwadratu prędkości, a moc byłaby iloczynem oporu i prędkości. Ale nie rozmawiasz na temat tempa zużycia energii, więc prawdopodobnie i tak chciałeś odnieść się do siły oporu.
Seth Battin,
„Jego wydajność jest proporcjonalna do aktualnej prędkości i gęstości atmosferycznej”. Nieco niedokładne, samolot dostaje większy opór powietrza, gdy zmienia kierunki, ponieważ wymusza przepływ powietrza w innym kierunku, więc musisz zrównoważyć to z bezwładnością, o czym zastanawiałem się ostatnio: jak obliczyć siłę, która daje wynik samolot ze zmieniającego się kierunku, możesz uprościć mechanikę płynów, aby na to odpowiedzieć, ale nie znam dobrej odpowiedzi. Musisz także wziąć pod uwagę rozmiar skrzydeł.
Jokoon
1
@ jokoon masz rację, ale pamiętaj, że pytanie dotyczy prostego symulatora lotu przypominającego arkadę. Maksymalny realizm nie jest ani wymagany, ani pożądany. Aby uzyskać maksymalny realizm, unifikowałbym moment przeciągania, podnoszenia i steru kierunku w dokładnej symulacji aerodynamiki wokół modelu 3D samolotu, ale w przypadku większości gier, które nie konkurują z Microsoft Flight pod względem realizmu, byłoby to przesadą .
Philipp
Kiedyś poszedłem na pokaz lotniczy, kiedy widzisz skręt myśliwca, patrzysz i czujesz ciężar samolotu pchającego powietrze pod nim, jakby dryfował, ale leciał w tym samym czasie. Nadal zastanawiam się, czy winda, o której mówiłeś, pojawiłaby się nadal bez szczegółów, o których mówiłem. Chyba tak, mam rację? Zmieniłoby to tylko wektor wznoszenia, powodując dryfowanie samolotu.
Jokoon
1
@OndrejPetrzilka Wiesz, jak przechylają się samoloty, kiedy się obracają? To powoduje, że wektor podnoszenia wskazuje na środek zakrętu.
user253751