Um simples simulador de vôo

10

Em um simulador de vôo em 3D com um nível de realismo Crimson Skies (como no nível de arcada, em vez de realista), como você determina o movimento de uma aeronave a cada tique-taque do relógio?

(Crimson Skies é um simulador de vôo do tipo arcade: http://youtu.be/OWmYt0LZDnU?t=3m )

Presumo que o jogo avança em etapas fixas, e cada passo que cada objeto em movimento se move em uma linha reta com velocidade constante de sua posição atual para a seguinte.

Quais parâmetros básicos você precisaria para determinar a massa, velocidade, acelerador .etc. Além disso, como você os combinaria?

Vai
fonte
Pergunta interessante, mas não é muito ampla? Quero dizer, isso meio que pede os detalhes da dinâmica da simulação de aeronaves. Além da integração numérica de torques e acelerações, há algo em particular que uma resposta deve abordar? Pessoalmente, prefiro evitar torques e acelerações para alterar a trajetória, pois são mais difíceis de trabalhar e oferecem uma experiência que um jogador casual não gosta (é difícil ajustar a mecânica do jogo usando efeitos inerciais).
Teodron
Você deve definir o que significa "realismo no nível dos céus carmesim", porque existem pessoas (como eu) que não jogaram esse jogo e agora estão excluídas de fornecer uma resposta.
Philipp
3
Isso não é essencialmente "Como implementar a física?"?
MichaelHouse
1
Da minha resposta aqui , este é o mesmo conselho que eu daria para esta pergunta: teste empírico iterativo. Adicione alguns controles deslizantes à GUI que controlam os vários parâmetros que você deseja testar.
MichaelHouse
3
"Física" + "Simulador" + "Simples" Escolha duas. A razão pela qual você não consegue encontrar exemplos fáceis de simuladores de vôo é porque o vôo dos desenhos animados é enganado e se transforma em um simples controlador de personagem, enquanto até simulações mínimas se aprofundam na física e são notoriamente difíceis de manter estáveis.
Patrick Hughes

Respostas:

22

Para entender como simular o vôo aerodinâmico, é preciso primeiro entender quais forças afetam o movimento de uma aeronave. A trajetória real de uma aeronave é a soma de todos esses efeitos físicos:

Primeira e segunda lei do movimento de Newton

  1. Um objeto se move a uma velocidade constante, a menos que seja acionado por uma força.
  2. A aceleração de um corpo é diretamente proporcional e na mesma direção que a força resultante que atua sobre o corpo e inversamente proporcional à sua massa. Assim, F = ma, onde F é a força resultante que atua sobre o objeto, m é a massa do objeto e a é a aceleração do objeto.

Impulso do motor

O impulso do motor é uma força que acelera a aeronave para a frente e geralmente pode ser controlada pelo jogador. A aceleração é a potência do motor dividida pela massa da aeronave.

Gravidade

A gravidade acerta constantemente uma aeronave para baixo com uma velocidade de 9,81 m / s². Em teoria, a gravidade se torna menor quando você sobe, mas na altura em que aeronaves normais operam, isso pode ser ignorado.

Arrasto aerodinâmico

Quanto mais rápido uma aeronave se move, mais o atrito atmosférico diminui a velocidade. Isso é representado por uma força acelerando em uma direção contra a direção atual em que a nave está se movendo. A força aumenta quadraticamente com a velocidade (velocidade dupla = quatro vezes a força de arrasto). Porém, quanto mais alto o avião está voando, mais fina a atmosfera e menor a força de arrasto. A velocidade máxima de uma aeronave é onde as forças geradas pelo impulso do motor e pelo arrasto aerodinâmico se anulam.

Pode parecer contra-intuitivo, mas ter uma constante de arrasto mais forte tornará o jogo mais fácil (mais parecido com um fliperama), porque o arrasto é a força que impede o avião de voar na direção que o jogador não deseja. voe mais (como ao fazer uma curva). Portanto, mais arrasto = planos mais lentos e mais manobráveis. Você pode melhorar ainda mais isso aumentando a resistência quando houver uma diferença entre a direção da direção e a direção do movimento do avião (isso não é nem realista - o perfil aerodinâmico de um avião é otimizado para oferecer menor resistência ao ar quando o avião está voando direto ).

Elevador aerodinâmico

Essa é a força que realmente faz um avião voar. É gerado pelas asas. Quanto maior a superfície da asa, mais sustentação é gerada e acelera o avião para cima (em relação às asas, e não ao solo. Quando o avião rola para o lado, o elevador também está acelerando para o lado). Assim como o arrasto atmosférico, o elevador é relativo à velocidade e densidade atmosférica.

Superfícies de controle

Um avião controla sua direção com diferentes superfícies de controle para inclinação, guinada e rotação. Uma superfície de controle funciona apenas quando o avião está se movendo. Sua eficiência é proporcional à velocidade atual e à densidade atmosférica. Observe que as superfícies de controle alteram apenas a direção na qual o plano está apontando, não a direção em que está se movendo. Isso afeta a direção do impulso e da elevação e, assim, gradualmente a direção do movimento.

Philipp
fonte
1
Pequena: a potência (taxa de energia) aumenta com o cubo de velocidade. A força de arrasto é proporcional à velocidade ao quadrado, e a força seria o produto do arrasto e da velocidade. Mas você não discute mais nada em termos de taxas de energia, então provavelmente pretendia se referir à força de arrasto de qualquer maneira.
Seth Battin
"Sua eficiência é proporcional à velocidade atual e à densidade atmosférica". Um pouco impreciso, um avião recebe mais ar quando muda de direção, porque força o fluxo de ar em outra direção, então você precisa equilibrar isso com a inércia, algo que eu estava pensando recentemente: como você calcula a força resultante Se o avião mudar de direção, você pode simplificar a mecânica dos fluidos para responder a isso, mas não sei a boa resposta. Você também deve considerar o tamanho das asas.
Jokoon
1
@jokoon, você está certo sobre isso, mas considere que a pergunta é sobre um simulador de vôo simples, semelhante ao arcade. O realismo máximo não é necessário nem desejado. Para obter o realismo máximo, eu unificaria o torque de arrasto, elevação e leme em uma simulação precisa da aerodinâmica em torno do modelo 3d do avião, mas para a maioria dos jogos que não tentam competir com o Microsoft Flight em termos de realismo, isso seria um exagero .
Philipp
Certa vez, fui a um show aéreo, quando você vê um avião de combate fazendo uma curva, assiste e sente o peso do avião empurrando o ar abaixo dele, como se estivesse flutuando, mas voando ao mesmo tempo. Ainda me pergunto se o elevador que você estava falando ainda apareceria sem os detalhes de que falei. Acho que sim, estou certo? Isso mudaria apenas o vetor de elevação, tornando o avião de alguma forma à deriva.
Jokoon
1
@OndrejPetrzilka Você sabe como os aviões bancam quando eles viram? Isso faz com que o vetor de elevação aponte para o meio do turno.
precisa saber é o seguinte