Un simulateur de vol simple

10

Dans un simulateur de vol 3D avec un niveau de réalisme Crimson Skies (comme dans, niveau arcade plutôt que réaliste), comment déterminez-vous le mouvement d'un avion à chaque tick d'horloge de jeu?

(Crimson Skies est un simulateur de vol de type arcade: http://youtu.be/OWmYt0LZDnU?t=3m )

Je suppose que le jeu avance par étapes fixes, et à chaque étape, chaque objet en mouvement se déplace en ligne droite avec une vitesse constante de sa position actuelle à la suivante.

De quels paramètres de base auriez-vous besoin pour déterminer la masse, la vitesse, l'accélérateur .etc. Comment les combineriez-vous également?

Volonté
la source
Question intéressante, mais n'est-elle pas trop large? Je veux dire, cela demande en quelque sorte les détails granuleux de la dynamique de simulation d'un avion. Hormis l'intégration numérique des couples et des accélérations, y a-t-il quelque chose de particulier à répondre? Personnellement, je préférerais éviter les couples et les accélérations pour modifier la trajectoire car ils sont plus difficiles à travailler et offrent une expérience que le joueur occasionnel n'aime pas (les mécanismes de jeu utilisant des effets inertiels sont difficiles à modifier).
teodron
Vous devez définir ce que signifie réellement le «réalisme de niveau Crimson Skies», car il y a des gens (comme moi) qui n'ont pas joué à ce jeu et qui sont maintenant exclus de la réponse.
Philipp
3
N'est-ce pas essentiellement "Comment implémenter la physique?"?
MichaelHouse
1
D'après ma réponse, voici le même conseil que je donnerais pour cette question: les tests empiriques itératifs. Ajoutez des curseurs de test à votre interface graphique qui contrôlent les différents paramètres que vous souhaitez tester.
MichaelHouse
3
"Physique" + "Simulateur" + "Simple" Choisissez deux. La raison pour laquelle vous ne pouvez trouver aucun exemple de simulateur de vol facile est parce que le vol de dessin animé est triché et se transforme en un simple contrôleur de personnage alors que même des simulations minimes plongent profondément dans la physique et sont notoirement difficiles à maintenir stables.
Patrick Hughes

Réponses:

22

Pour comprendre comment simuler un vol aérodynamique, il faut d'abord comprendre quelles forces affectent le mouvement d'un avion. La trajectoire réelle d'un avion est la somme de tous ces effets physiques:

Première et deuxième lois du mouvement de Newton

  1. Un objet se déplace à une vitesse constante, sauf s'il est soumis à une force.
  2. L'accélération d'un corps est directement proportionnelle et dans le même sens que la force nette agissant sur le corps et inversement proportionnelle à sa masse. Ainsi, F = ma, où F est la force nette agissant sur l'objet, m est la masse de l'objet et a est l'accélération de l'objet.

Poussée du moteur

La poussée du moteur est une force qui accélère un avion vers l'avant et peut généralement être contrôlée par le joueur. L'accélération est la puissance du moteur divisée par la masse de l'avion.

La gravité

La gravité accède constamment à un avion vers le bas à une vitesse de 9,81 m / s². En théorie, la gravité diminue lorsque vous montez plus haut, mais à la hauteur où les avions normaux fonctionnent, cela peut être ignoré.

Traînée aérodynamique

Plus un avion se déplace rapidement, plus le frottement atmosphérique le ralentit. Ceci est représenté par une force accélérant dans une direction contre la direction actuelle de l'engin. La force augmente quadratique avec la vitesse (double vitesse = quatre fois la force de traînée). Mais plus l'avion vole haut, plus l'atmosphère est mince et plus la force de traînée est faible. La vitesse maximale d'un avion est l'endroit où les forces générées par la poussée du moteur et la traînée aérodynamique s'annulent.

Cela peut sembler contre-intuitif, mais avoir une constante de traînée plus forte rendra votre jeu plus facile à jouer (plus comme une arcade), car la traînée est la force qui empêche l'avion de voler dans la direction que le joueur ne veut pas voler plus (comme lorsque vous volez une courbe). Donc plus de traînée = avions plus lents et plus manœuvrables. Vous pouvez encore améliorer cela en augmentant la traînée lorsqu'il y a une différence entre la direction de cap et la direction de mouvement de l'avion (ce n'est même pas irréaliste - le profil aérodynamique d'un avion est optimisé pour une moindre résistance à l'air lorsque l'avion vole tout droit ).

Ascenseur aérodynamique

C'est la force qui fait voler un avion. Il est généré par les ailes. Plus la surface de l'aile est grande, plus la portance est générée et accélère l'avion vers le haut (par rapport aux ailes, pas au sol. Lorsque l'avion roule sur le côté, l'ascenseur l'accélère également sur le côté). Tout comme la traînée atmosphérique, la portance est relative à la vitesse et à la densité atmosphérique.

Surfaces de contrôle

Un avion contrôle sa direction avec différentes surfaces de contrôle pour le tangage, le lacet et le roulis. Une surface de contrôle ne fonctionne que lorsque l'avion se déplace. Son efficacité est proportionnelle à la vitesse actuelle et à la densité atmosphérique. Notez que les surfaces de contrôle ne modifient que la direction dans laquelle l'avion pointe, pas la direction dans laquelle il se déplace. Cela affecte la direction de poussée et de portance, et donc progressivement la direction de mouvement.

Philipp
la source
1
Petit: la puissance (taux d'énergie) augmente avec le cube de vitesse. La force de traînée est proportionnelle à la vitesse au carré, et la puissance serait le produit de la traînée et de la vitesse. Mais vous ne discutez de rien d'autre en termes de taux d'énergie, vous vouliez donc de toute façon faire référence à la force de traînée.
Seth Battin
"Son efficacité est proportionnelle à la vitesse actuelle et à la densité atmosphérique." Légèrement imprécis, un avion obtient plus de traînée d'air lorsqu'il change de direction, car il force le flux d'air dans une autre direction, vous devez donc équilibrer cela avec l'inertie, ce que je me demandais récemment: comment calculez-vous la force qui en résulte l'avion de changer de direction, vous pouvez simplifier la mécanique des fluides pour répondre à cela, mais je ne connais pas la bonne réponse. Vous devez également tenir compte de la taille des ailes.
jokoon
1
@jokoon, vous avez raison, mais veuillez considérer que la question concerne un simulateur de vol simple, semblable à une arcade. Un réalisme maximal n'est ni requis ni souhaité. Pour un réalisme maximal, j'unifierais le couple de traînée, de portance et de gouvernail dans une simulation précise de l'aérodynamique autour du modèle 3D de l'avion, mais pour la plupart des jeux qui n'essaient pas de rivaliser avec Microsoft Flight en termes de réalisme, ce serait exagéré .
Philipp
Une fois, je suis allé à un spectacle aérien, quand vous voyez un avion de chasse faire un virage, vous regardez et sentez le poids de l'avion poussant l'air en dessous, comme s'il dérivait, mais volant en même temps. Je me demande encore si l'ascenseur dont vous parliez apparaîtrait toujours sans les détails dont j'ai parlé. Je suppose que oui, ai-je raison? Cela ne ferait que changer le vecteur de portance, ce qui ferait dériver l'avion.
jokoon
1
@OndrejPetrzilka Vous savez comment les avions s'inclinent lorsqu'ils tournent? Cela fait pointer le vecteur de portance vers le milieu du virage.
user253751