Un simple simulador de vuelo

10

En un simulador de vuelo 3D con un nivel de realismo de Crimson Skies (como en el nivel de arcade en lugar de realista), ¿cómo determina el movimiento de un avión en cada tic del reloj del juego?

(Crimson Skies es un simulador de vuelo tipo arcade: http://youtu.be/OWmYt0LZDnU?t=3m )

Supongo que el juego avanza en pasos fijos, y cada paso de cada objeto en movimiento se mueve en línea recta con velocidad constante desde su posición actual hasta la siguiente.

¿Qué parámetros básicos necesitarías para determinar la masa, la velocidad, el acelerador, etc.? Además, ¿cómo los combinarías?

Será
fuente
Pregunta interesante, pero ¿no es demasiado amplia? Quiero decir, pide los detalles arenosos de la dinámica de simulación de aviones. Además de la integración numérica de pares y aceleraciones, ¿hay algo en particular que una respuesta debería abordar? Personalmente, preferiría evitar los pares y las aceleraciones para alterar la trayectoria, ya que son más difíciles de trabajar y ofrecen una experiencia que a un jugador casual no le gusta (la mecánica del juego que usa efectos de inercia es difícil de ajustar).
teodron
Debes definir qué significa "realismo a nivel de los Cielos Carmesíes", porque hay personas (como yo) que no han jugado ese juego y ahora están excluidas de dar una respuesta.
Philipp
3
¿No es esencialmente "Cómo implementar la física"?
MichaelHouse
1
De mi respuesta aquí , este es el mismo consejo que daría para esta pregunta: Prueba empírica iterativa. Agregue algunos controles deslizantes de prueba a su GUI que controlan los diversos parámetros que le interesan probar.
MichaelHouse
3
"Física" + "Simulador" + "Simple" Elige dos. La razón por la que no puede encontrar ningún ejemplo de simulador de vuelo fácil es porque el vuelo de dibujos animados es engañado y se convierte en un controlador de personaje simple, mientras que incluso las simulaciones mínimas profundizan en la física y son notoriamente difíciles de mantener estables.
Patrick Hughes

Respuestas:

22

Para entender cómo simular el vuelo aerodinámico, primero hay que entender qué fuerzas afectan el movimiento de una aeronave. La trayectoria real de un avión es la suma de todos estos efectos físicos:

La primera y segunda ley del movimiento de Newton

  1. Un objeto se mueve a una velocidad constante, a menos que una fuerza actúe sobre él.
  2. La aceleración de un cuerpo es directamente proporcional y en la misma dirección que la fuerza neta que actúa sobre el cuerpo, e inversamente proporcional a su masa. Por lo tanto, F = ma, donde F es la fuerza neta que actúa sobre el objeto, m es la masa del objeto y a es la aceleración del objeto.

Empuje del motor

El empuje del motor es una fuerza que acelera un avión hacia adelante y generalmente puede ser controlado por el jugador. La aceleración es la potencia del motor dividida por la masa del avión.

Gravedad

La gravedad acelera constantemente un avión hacia abajo con una velocidad de 9,81 m / s². En teoría, la gravedad se vuelve menos cuando vas más alto, pero a la altura donde operan las aeronaves normales, esto puede ignorarse.

Resistencia aerodinámica

Cuanto más rápido se mueve un avión, más la fricción atmosférica lo ralentiza. Esto está representado por una fuerza que acelera en una dirección contra la dirección actual en que se mueve la nave. La fuerza aumenta cuadráticamente con la velocidad (velocidad doble = cuatro veces la fuerza de arrastre). Pero cuanto más alto está volando el avión, más delgada es la atmósfera y menor es la fuerza de arrastre. La velocidad máxima de un avión es donde las fuerzas generadas por el empuje del motor y la resistencia aerodinámica se cancelan mutuamente.

Puede sonar contra-intuitivo, pero tener una constante de arrastre más fuerte en realidad hará que tu juego sea más fácil de jugar (más parecido a un arcade), porque el arrastre es la fuerza que impide que el avión vuele en la dirección que el jugador no quiere vuela más (como cuando vuela una curva). Entonces más arrastre = aviones más lentos y más maniobrables. Puede mejorar esto aumentando la resistencia cuando hay una diferencia entre la dirección de rumbo y la dirección de movimiento del avión (esto ni siquiera es realista: el perfil aerodinámico de un avión está optimizado para la menor resistencia al aire cuando el avión está volando en línea recta ).

Elevación aerodinámica

Esta es la fuerza que realmente hace que un avión vuele. Es generado por las alas. Cuanto más grande es la superficie del ala, se genera más elevación y acelera el avión hacia arriba (en relación con las alas, no el suelo. Cuando el avión rueda hacia los lados, el ascensor también lo acelera hacia los lados). Al igual que la resistencia atmosférica, la elevación es relativa a la velocidad y la densidad atmosférica.

Superficies de control

Un avión controla su dirección con diferentes superficies de control para cabeceo, guiñada y balanceo. Una superficie de control solo funciona cuando el avión se está moviendo. Su eficiencia es proporcional a la velocidad actual y la densidad atmosférica. Tenga en cuenta que las superficies de control solo cambian la dirección en la que apunta el plano, no la dirección en la que se mueve. Esto afecta la dirección de empuje y elevación, y así gradualmente la dirección del movimiento.

Philipp
fuente
1
Pequeño: la potencia (tasa de energía) aumenta con el cubo de la velocidad. La fuerza de arrastre es proporcional a la velocidad al cuadrado, y la potencia sería el producto del arrastre y la velocidad. Pero no discute nada más en términos de tasas de energía, por lo que probablemente se refería a la fuerza de arrastre de todos modos.
Seth Battin
"Su eficiencia es proporcional a la velocidad actual y la densidad atmosférica". Ligeramente inexacto, un avión recibe más arrastre de aire cuando cambia de dirección, ya que fuerza el flujo de aire en otra dirección, por lo que debe equilibrar esto con la inercia, que es algo de lo que me preguntaba recientemente: ¿cómo calcula la fuerza que resulta? el avión cambia de dirección, puede simplificar la mecánica de fluidos para responder esto, pero no sé la buena respuesta. También debes considerar el tamaño de las alas.
jokoon
1
@jokoon tienes razón en eso, pero considera que la pregunta es sobre un simulador de vuelo simple y arcade. El realismo máximo no es requerido ni deseado. Para obtener el máximo realismo, unificaría el torque de arrastre, elevación y timón en una simulación precisa de la aerodinámica alrededor del modelo 3D del avión, pero para la mayoría de los juegos que no intentan competir con Microsoft Flight en términos de realismo, sería excesivo .
Philipp
Una vez fui a un espectáculo aéreo, cuando ves que un avión de combate gira, miras y sientes el peso del avión empujando el aire debajo de él, como si estuviera a la deriva, pero volando al mismo tiempo. Todavía me pregunto si el ascensor del que estabas hablando todavía aparecería sin los detalles de los que hablé. Supongo que sí, ¿tengo razón? Solo cambiaría el vector de elevación, haciendo que el avión se desplace de alguna manera.
jokoon
1
@OndrejPetrzilka ¿Sabes cómo se balancean los aviones cuando giran? Eso hace que el vector de elevación apunte hacia la mitad del giro.
user253751