겁나 빠르게 길찾기를 하고 싶다면 에디터에서 주요 경로를 미리 베이킹 하면됨.
가령 (0,0) 에서 (4,5) 직사각형은 열린 공간이라서 직선으로 이동해도 됨.
이런식으로 각 열린 공간을 각각의 구역으로 설정하고 각 구역 끼리의 길찾기를 계산하면 경우의 수를 확 줄일 수 있음.
그럼 길찾기를 요청할때 출발과 도착이 같은 구역이면 직선이동.
다른 구역이면 해당 경로를 검색해서 이동.
ㅇㅇ 1(118.47)2024-08-10 16:36:00
답글
어 그게 유저가 방해물을 설치하게끔 할거라서 주요 경로라는게 없고
동적으로 계속 바뀌는거라 흠.. 그냥 일반 알고리즘 써도 상관이 없을거 같기도 하고..
https://takinginitiative.net/2011/05/02/optimizing-the-a-algorithm/
좋은글이긴한데 결론이 니 어플은 니가 최적화해라가 결론인거같은데
핵심 잘 파악하는 거 보니 좋은 방법 찾아서 해결할듯
겁나 빠르게 길찾기를 하고 싶다면 에디터에서 주요 경로를 미리 베이킹 하면됨. 가령 (0,0) 에서 (4,5) 직사각형은 열린 공간이라서 직선으로 이동해도 됨. 이런식으로 각 열린 공간을 각각의 구역으로 설정하고 각 구역 끼리의 길찾기를 계산하면 경우의 수를 확 줄일 수 있음. 그럼 길찾기를 요청할때 출발과 도착이 같은 구역이면 직선이동. 다른 구역이면 해당 경로를 검색해서 이동.
어 그게 유저가 방해물을 설치하게끔 할거라서 주요 경로라는게 없고 동적으로 계속 바뀌는거라 흠.. 그냥 일반 알고리즘 써도 상관이 없을거 같기도 하고..
방해물 설치할때마다 새로 구우면 됨
동적으로 변경되면 어쩔수 없군.
a스타할때 목적지까지의 절대거리도 우선순위로 두잖아 그거 값좀올리면되는거아님?