2012-10-04 4 views
3

현재 DirectX 엔진에서 C++로 게임을하고 있습니다. 나는 경로 찾기를 사용하여 병사 군대를 특정 위치로 안내합니다. 문제는 내 경로의 길에 아무 것도 없는지 확인하기 위해 레이 캐스트를 사용하는 것이므로 게임의 속도가 느려집니다. 길 찾기를하는 더 좋은 방법이 있습니까?raycasts 및 다중 대상없이 3D에서 길 찾기를 사용하는 방법

나는 또한 나의 군대 이동에 문제가있다. 지금 저는 병사들의 평균 위치를 시작점으로 사용하고 있습니다. 즉, 모든 병사가 종점으로 이동하기 전에 먼저 이동해야한다는 의미입니다. 출발점으로 가지 않고 종점으로 갈 수있는 방법이 있습니까?

도움 주셔서 감사합니다.

+1

자세한 내용이 도움이 될 것입니다. 3D 레이 캐스트를 사용하여 군인을위한 2D 지상 경로를 찾는 것처럼 들립니다. 이게 사실인가요? 탐색 모델이 얼마나 자세해야합니까? 얼마나 큰 지역에서 길 찾기를하고 있습니까? 또한 무엇을 시도 했습니까? – comingstorm

답변

1

A-Star와 같은 것을 시도 했습니까? 노드를 통해 이동하거나지도의 2 차원 배열 표현을 탐색 할 수 있습니까? 잘 쓰면 작업 (멀티 스레드)과 더 쉽게 작업 할 수 있습니다.

포지션 A에 있고 누가 A 위치에 있고 B에 도착해야하는지. C에서 경로를 계산하는 것입니다. (포용 위치는 이제까지 무엇입니까?) B.에서 방향을 얻고 b 보간의 종류. (이 작업을 수행하거나 시도해 보았지만 문제가 해결되지 않았을 수 있습니다!)

0

레이 캐스팅 할 때 모든 개체에 히트 테스트를 수행합니까?

많은 물건과 군인이있을 때 매우 비쌀 수 있습니다. 일반적인 해결책은 여러분의 세계를 정사각형 그리드 셀로 나누고 각 그리드의 개체 목록에 각 개체를 넣는 것입니다.

그러면 군인으로부터 목적지까지 상상의 선을 그린 다음 각 셀에서 어떤 대상을 테스트해야하는지 확인할 수 있습니다. 이렇게하면 직선 경로에 가까운 객체 만 평가하고 다른 객체는 무시합니다.

관련 문제