Un semplice simulatore di volo


10

In un simulatore di volo 3D con un livello di realismo di Crimson Skies (come in, livello arcade piuttosto che realistico), come si determina il movimento di un aereo per ogni tick di gioco?

(Crimson Skies è un simulatore di volo simile a un arcade: http://youtu.be/OWmYt0LZDnU?t=3m )

Presumo che il gioco avanzi a passi fissi, e ogni passo ogni oggetto in movimento si muove in linea retta con velocità costante dalla sua posizione corrente a quella successiva.

Quali parametri di base sarebbero necessari per determinare la massa, la velocità, l'acceleratore .etc. Inoltre come li combineresti?


Domanda interessante, ma non è troppo ampia? Voglio dire, in qualche modo chiede i dettagli grintosi della dinamica di simulazione degli aerei. Oltre all'integrazione numerica di coppie e accelerazioni, c'è qualcosa di particolare che una risposta dovrebbe affrontare? Personalmente preferirei evitare coppie e accelerazioni per alterare la traiettoria poiché sono più difficili da lavorare e offrono un'esperienza che non piace a un giocatore occasionale (la meccanica di gioco che utilizza effetti inerziali è difficile da modificare).
teodron,

Dovresti definire cosa significa in realtà "realismo a livello di cieli cremisi", perché ci sono persone (come me) che non hanno giocato a quel gioco e ora sono escluse dal fornire una risposta.
Philipp,

3
Non è essenzialmente "Come implementare la fisica?"?
MichaelHouse

1
Dalla mia risposta qui , questo è lo stesso consiglio che darei per questa domanda: test empirici iterativi. Aggiungi alcuni cursori di test alla tua GUI che controllano i vari parametri che ti interessano testare.
MichaelHouse

3
"Fisica" + "Simulatore" + "Semplice" Scegli due qualsiasi. Il motivo per cui non riesci a trovare alcun esempio di simulatore di volo semplice è perché il volo dei cartoni animati è ingannato e si trasforma in un semplice controller di personaggio mentre anche simulazioni minime scavano in profondità nella fisica e sono notoriamente difficili da mantenere stabili.
Patrick Hughes,

Risposte:


22

Per capire come simulare il volo aerodinamico, bisogna prima capire quali forze influenzano il movimento di un aereo. La traiettoria effettiva di un aereo è la somma di tutti questi effetti fisici:

La prima e la seconda legge del moto di Newton

  1. Un oggetto si muove a velocità costante, a meno che non venga attaccato da una forza.
  2. L'accelerazione di un corpo è direttamente proporzionale e nella stessa direzione della forza netta che agisce sul corpo e inversamente proporzionale alla sua massa. Pertanto, F = ma, dove F è la forza netta che agisce sull'oggetto, m è la massa dell'oggetto e a è l'accelerazione dell'oggetto.

Spinta del motore

La spinta del motore è una forza che accelera un velivolo in avanti e di solito può essere controllata dal giocatore. L'accelerazione è la potenza del motore divisa per la massa dell'aeromobile.

Gravità

La gravità accelera costantemente verso il basso un velivolo con una velocità di 9,81 m / s². In teoria, la gravità diminuisce quando si sale, ma all'altezza in cui operano i normali velivoli, questo può essere ignorato.

Resistenza aerodinamica

Più un velivolo si muove, più l'attrito atmosferico rallenta. Ciò è rappresentato da una forza che accelera in una direzione contro la direzione corrente della nave. La forza aumenta in modo quadratico con la velocità (doppia velocità = quattro volte la forza di resistenza). Ma più è alto l'aereo, più sottile è l'atmosfera e minore è la forza di resistenza. La velocità massima di un aeromobile è quella in cui le forze generate dalla spinta del motore e dalla resistenza aerodinamica si annullano a vicenda.

Potrebbe sembrare controintuitivo, ma avere una costante di resistenza più forte renderà il tuo gioco più facile da giocare (più simile ad un arcade), perché il trascinamento è la forza che impedisce all'aereo di volare nella direzione che il giocatore non vuole volare più (come quando si vola su una curva). Quindi più trascinamento = aerei più lenti e più manovrabili. Puoi migliorare ulteriormente questo aumentando la resistenza quando c'è una differenza tra la direzione di rotta e la direzione di movimento del piano (questo non è nemmeno irrealistico - il profilo aerodinamico di un piano è ottimizzato per la minima resistenza dell'aria quando il piano sta volando dritto ).

Sollevamento aerodinamico

Questa è la forza che fa effettivamente volare un aereo. È generato dalle ali. Maggiore è la superficie delle ali, maggiore è la portanza generata e accelera il piano verso l'alto (rispetto alle ali, non al suolo. Quando il piano rotola lateralmente, anche il sollevatore lo sta accelerando lateralmente). Proprio come la resistenza atmosferica, l'ascensore è relativo alla velocità e alla densità atmosferica.

Superfici di controllo

Un piano controlla la sua direzione con diverse superfici di controllo per beccheggio, imbardata e rollio. Una superficie di controllo funziona solo quando il piano si sta muovendo. La sua efficienza è proporzionale alla velocità attuale e alla densità atmosferica. Notare che le superfici di controllo cambiano solo la direzione in cui punta il piano, non la direzione in cui si sta muovendo. Ciò influisce sulla direzione di spinta e sollevamento e quindi gradualmente sulla direzione del movimento.


1
Piccolo: la potenza (tasso di energia) aumenta con il cubo di velocità. La forza di resistenza è proporzionale alla velocità al quadrato e la potenza sarebbe il prodotto di resistenza e velocità. Ma non si discute di nient'altro in termini di tariffe energetiche, quindi probabilmente si intendeva riferirsi comunque alla forza di resistenza.
Seth Battin,

"La sua efficienza è proporzionale alla velocità attuale e alla densità atmosferica." Leggermente impreciso, un aereo ottiene più resistenza all'aria quando cambia direzione, perché forza il flusso d'aria in un'altra direzione, quindi devi bilanciarlo con l'inerzia, che è qualcosa di cui mi chiedevo di recente: come calcolare la forza che ne risulta l'aereo dal cambiare direzione, puoi semplificare la meccanica dei fluidi per rispondere a questa, ma non conosco la buona risposta. Devi anche considerare la dimensione delle ali.
jokoon

1
@jokoon hai ragione, ma ti preghiamo di considerare che la domanda riguarda un semplice simulatore di volo arcade-like. Il massimo realismo non è né richiesto né desiderato. Per il massimo realismo unirei la coppia di trascinamento, sollevamento e timone in una simulazione accurata dell'aerodinamica attorno al modello 3d dell'aereo, ma per la maggior parte dei giochi che non cercano di competere con Microsoft Flight in termini di realismo, sarebbe eccessivo .
Philipp

Una volta sono andato a uno spettacolo aereo, quando vedi un jet da combattimento girare, guardi e senti il ​​peso dell'aereo che spinge l'aria sotto di esso, come se stesse andando alla deriva, ma volando allo stesso tempo. Mi chiedo ancora se l'ascensore di cui stai parlando sarebbe ancora apparso senza i dettagli di cui ho parlato. Immagino di sì, ho ragione? Cambierebbe solo il vettore dell'ascensore, facendo in qualche modo spostare l'aereo.
jokoon

1
@OndrejPetrzilka Sai come si dirigono gli aerei quando girano? Ciò fa sì che il vettore di sollevamento punti verso la metà della curva.
user253751
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.