간단한 비행 시뮬레이터


10

크림슨 스카이 (Crimson Skies) 수준의 사실감 (실제보다는 아케이드 수준)이있는 3D 비행 시뮬레이터에서 각 게임 시계 틱마다 항공기의 움직임을 어떻게 결정합니까?

(Crimson Skies는 아케이드와 같은 비행 시뮬레이터입니다 : http://youtu.be/OWmYt0LZDnU?t=3m )

나는 게임이 고정 된 단계로 진행한다고 가정하고, 각 단계는 각 움직이는 물체가 현재 위치에서 다음 위치로 일정한 속도로 직선으로 움직입니다.

질량, 속도, 스로틀 등을 결정하는 데 필요한 기본 매개 변수 또한 어떻게 결합합니까?


흥미로운 질문이지만 너무 광범위하지 않습니까? 항공기 시뮬레이션 역학에 대한 구체적 내용을 묻습니다. 토크와 가속도의 수치 적분과는 별도로 답변이 해결되어야 할 것이 있습니까? 나는 개인적으로 궤도를 변경하기 위해 토크와 가속을 피하는 것을 선호합니다. 왜냐하면 궤도를 변경하기가 어렵고 캐주얼 게이머가 싫어하는 경험을 제공하기 때문입니다 (관성 효과를 사용하는 게임 메커니즘은 조정하기가 어렵습니다).
teodron

"크림슨 하늘 수준의 현실주의"가 실제로 의미하는 바를 정의해야합니다. 왜냐하면 저와 같은 게임을하지 않은 사람들이 있고 이제는 답변을 제공 할 수없는 사람들이 있기 때문입니다.
Philipp

3
이것이 본질적으로 "물리를 구현하는 방법"이 아닙니까?
MichaelHouse

1
내 대답 에서 , 이것은이 질문에 대해 제공 한 것과 동일한 조언입니다 : 반복 경험적 테스트. 테스트에 관심있는 다양한 매개 변수를 제어하는 ​​테스트 슬라이더를 GUI에 추가하십시오.
MichaelHouse

3
"물리"+ "시뮬레이터"+ "단순"두 개를 선택하십시오. 쉬운 비행 시뮬레이터 예제를 찾을 수없는 이유는 만화 비행이 속이고 간단한 캐릭터 컨트롤러로 전환되는 반면 최소한의 시뮬레이션조차도 물리학에 깊이 파고 들어 안정적으로 유지하기가 어렵 기 때문입니다.
Patrick Hughes

답변:


22

공기 역학 비행을 시뮬레이션하는 방법을 이해하려면 먼저 항공기의 움직임에 어떤 힘이 영향을 미치는지 이해해야합니다. 항공기의 실제 궤도는 이러한 모든 물리적 효과의 합입니다.

뉴턴의 제 1 및 제 2 운동 법칙

  1. 힘에 의해 작용하지 않는 한 물체는 일정한 속도로 움직입니다.
  2. 신체의 가속은 신체에 작용하는 순 힘에 직접 비례하고 같은 방향으로 질량에 반비례합니다. 따라서 F = ma, 여기서 F는 물체에 작용하는 순 힘, m은 물체의 질량, a는 물체의 가속도입니다.

엔진 추력

엔진의 추력은 항공기를 앞으로 가속시키는 힘이며 일반적으로 플레이어가 제어 할 수 있습니다. 가속도는 엔진의 힘을 항공기의 질량으로 나눈 것입니다.

중량

중력은 9,81 m / s²의 속도로 항공기를 지속적으로 아래쪽으로 가속시킵니다. 이론적으로는 높이 올라 갈수록 중력이 떨어지지 만 일반 항공기가 작동하는 높이에서는 무시할 수 있습니다.

공기 역학적 항력

항공기가 빨리 움직일수록 대기 마찰이 더 느려집니다. 이것은 선박이 움직이고있는 현재 방향에 대한 방향으로 가속되는 힘으로 표현된다. 힘은 속도에 따라 2 차 증가합니다 (이중 속도 = 항력의 4 배). 그러나 항공기가 높을수록 대기가 얇아지고 항력이 낮아집니다. 항공기의 최대 속도는 엔진 추진력과 공기 역학적 항력에 의해 생성 된 힘이 서로 상쇄되는 곳입니다.

직관적이지 않은 소리로 들릴 수 있지만 드래그 상수가 더 강하면 실제로 게임을 더 쉽게 플레이 할 수 있습니다. 더 이상 비행하지 마십시오 (곡선을 비행 할 때와 같이). 따라서 더 많은 항력 = 느리고 기동성이 뛰어난 비행기입니다. 비행기의 방향과 이동 방향 사이에 차이가있을 때 드래그를 증가시켜이를 더욱 향상시킬 수 있습니다 (비현실적이지는 않습니다. 비행기의 공기 역학적 프로파일은 비행기의 공기 저항을 최소화하도록 최적화됩니다) ) 똑바로 날고있다 .

공기 역학적 리프트

이것은 실제로 비행기를 비행시키는 힘입니다. 날개에 의해 생성됩니다. 날개 표면이 클수록 더 많은 양력이 발생하고 평면을 위쪽으로 가속합니다 (지면이 아닌 날개를 기준으로합니다. 평면이 옆으로 구르면 리프트도 옆으로 가속됩니다). 대기 항력과 마찬가지로 리프트는 속도 및 대기 밀도에 상대적입니다.

컨트롤 표면

평면은 피치, 요 및 롤에 대해 서로 다른 제어 표면으로 방향을 제어합니다. 제어 표면은 평면이 움직일 때만 작동합니다. 효율은 현재 속도 및 대기 밀도에 비례합니다. 제어 표면은 평면이 이동하는 방향이 아니라 평면을 가리키는 방향 만 변경합니다. 이는 추력 방향과 리프트 방향에 영향을 미치며 점진적으로 이동 방향에 영향을줍니다.


1
작은 것 : 속도 큐브에 따라 전력 (에너지 비율)이 증가합니다. 항력은 속도의 제곱에 비례하며 전력은 항력과 속도의 곱입니다. 그러나 에너지 속도와 관련하여 다른 것을 논의하지 않기 때문에 어쨌든 항력을 의미 할 것입니다.
Seth Battin

"효율은 현재 속도와 대기 밀도에 비례합니다." 약간 부정확하면, 비행기는 방향을 바꿀 때 공기 흐름을 다른 방향으로 강제하기 때문에 더 많은 공기 저항을 얻습니다. 따라서 최근에 궁금했던 관성과 균형을 이루어야합니다. 최근에 궁금했던 것입니다. 방향을 바꾸는 비행기에서 유체 역학을 단순화하여 대답 할 수는 있지만 좋은 대답을 모르겠습니다. 날개의 크기도 고려해야합니다.
jokoon

1
@ jokoon 당신이 그것에 대해 맞지만 질문은 간단한 아케이드 같은 비행 시뮬레이터에 관한 것입니다. 최대의 사실성은 필요하지도 않습니다. 현실감을 극대화하기 위해 비행기의 3D 모델 주위의 공기 역학을 정확하게 시뮬레이션 할 때 드래그, 리프트 및 방향타 토크를 통합하지만 현실과 관련하여 Microsoft Flight와 경쟁하지 않는 대부분의 게임의 경우 너무 과도합니다. .
Philipp

나는 한때 에어쇼에 갔다. 전투기가 회전하는 것을 볼 때, 비행기가 표류하는 것처럼 공기가 아래로 밀리는 것을보고 느꼈다. 나는 당신이 말한 리프트가 내가 이야기 한 세부 사항없이 여전히 나타날지 궁금합니다. 그래, 맞아? 리프트 벡터 만 변경하여 평면이 어떻게 든 드리프트됩니다.
jokoon

1
@OndrejPetrzilka 비행기가 어떻게 회전하는지 어떻게 알 수 있습니까? 이로 인해 리프트 벡터가 회전 중간을 향하게됩니다.
user253751
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.