2010-12-10 4 views
2

나는 Scorched Earth 나 Pocket Tanks의 탱크에 으로 탱크 게임을 만들려고합니다. 사용자가 발사체의 각도와 속도를 정의한다는 것입니다. 나는 인터넷을 통해 발사체 시스템에 풍속을 구현하는 방법을 모색했다. 발사체 모션에 풍속을 어떻게 추가합니까?발사체 동작에서 풍속을 구현 하시겠습니까?

내 프로그램은 도달 한 최대 높이, 최종 지점에 도달하는 데 걸리는 총 시간 및 시작된 발사체의 각도를 고려하여 속도의 X 가속도와 Y 가속도를 계산합니다.

답변

3

발사체 모션에 풍속을 어떻게 추가합니까?

drag force = A * | Δ v | * Δ v * (표면적) + B * Δ v * 표면적, Δv = (바람의 속도) - (피탄 속도) - 시뮬레이션에서 다른 힘에 추가하십시오. (그리고 가속도를 계산할 때 Newton의 법칙 (Σ F = ma)을 사용하십시오.

표면적은 바람에 노출되는 유효 영역입니다. 예를 들어 발사체가 디스크 모양 인 경우 바람이 디스크면에서 부는 경우 매우 높은 끌림 력이 발생하지만 반대로 바람이 디스크에서 부풀어 오르는 경우 낮은 드래그 력이 발생합니다.

이것은 끌기 토크 (0이 아닌 순 토크를 야기하는 발사체의 다른 지점에 적용되는 힘, 따라서 발사체의 각 운동량의 변화)을 포함하지 않는다는 점에 유의하십시오. 풍차 또는 떨어지는 단풍 나무 씨앗에. 그것은 드래그 포스보다 모델링하기가 훨씬 어렵습니다.

+0

게임의 경우, "발사체 얼굴 계수"가 0.3 정도의 값인 곳에 (풍속)^2 * (표면) * (발사체 얼굴 계수)와 같은 것을 사용합니다. 당신의 결정 중 하나는 내가 "발사체 얼굴 인자"라고 부르는 것을 설정하는 것입니다. 이 값은 게임이 플레이트를 뽑지 않았기 때문에 1보다 작아야합니다. – DwB

+0

대단히 감사합니다! – user525479

2

단순하게 유지하는 방법 발사체가 이동하는 방향과 비교하여 바람이 오는 방향을 기준으로 수평 속도를 가감하는 방법은 어떻습니까?

꼬리 바람이라면 꼬리 바람이 발사체 자체에 기여할 수있는 최대 속도에 도달 할 때까지 시간 경과에 따라 일정한 속도를 더할 것이고 머리 바람은 거의 마찬가지입니다. 발사체의 수평 비행 속도와의 특정 각도는 충분한 속도의 선두 바람이 수평 속도를 반전시킬 수있다.

발사체가 대기에 오래있을수록 바람이 그 마법을 작동하는 데 더 많은 시간이 걸립니다.

2

드래그 포스를 사용하는 대신, 일반 포스를 구현할 수 있습니다. 물체가 모두 같은 크기와 모양 (십자형 교차 형) 인 경우 F를 선택하고 속도 계산에이 힘을 적용하면됩니다.