내일배움캠프 118일차 - 최종프로젝트 8일차: RTS게임에서 건설위치의 유효성 판단
RTS게임에서 건설위치의 유효성 판단
이전 일차에서 건설 명령을 내리면 해당 위치까지 이동한 후에 건물을 짓는 로직을 작성하였다. 하지만 내가 만들어낸 것은 어디까지나 건설과정의 정의지, 건설을 하기 위한 조건을 붙인 것은 아니었다. 그 때문에 NavMesh 영역 바깥 같은 건설이 유효하지 않은 위치를 지정할 경우 해당 위치에까지 이동하려고 하는 문제가 있었다.
이러한 문제를 해결하기 위해 건설명령을 내리기 전 조건을 하나 더 추가하였는데, 이전에 건물 설치를 확정 지을 때 사용했던 ProjectPointToNavigation() 이다.
해당 함수는 입력한 좌표가 NavMesh와 근접한 지 확인하고, 지정한 범위 내로 NavMesh내의 좌표로 투영할 수 있으면 True를 반환한다. 만약에 False를 반환한다면 입력한 좌표는 NavMesh위에 있지 않을 가능성이 크므로 건설명령을 내리지 않는다.
| 건설불가 영역에 건설을 시도할 경우 "Build Error" 메세지를 출력한다. |
댓글
댓글 쓰기