내비게이션은 3D메시의 정보를 기반으로 네비메시를 생성한다. 따라서 분리된 메시는 추적할 수 없다. 이때 Off Mesh Link를 통해 서로 분리된 메시를 연결할 수 있다. 즉, 추적이 가능하게 연결고리를 생성할 수 있다.
다운로드한 Resources/Models 폴더에 있는 Stair패키지를 설치한다.
프로젝트뷰에 임포트된 Stair폴더는 05.Models로 옮긴다.
Stair 폴더 하위에 있는 Stair모델을 씬뷰로 드래그해서 적절한 위치에 배치한다. 아래부분이 바닥에 묻히게 조절한다.
추가한 Stair는 _STAGE하위로 차일드화 한다. Stair를 선택후 인스펙터뷰에서 Navigation Static과 Off Mesh Link를 선택한다. 인스펙터뷰 Navigation탭에서도 선택할 수 있다.
Navigation Bake TAB을 클릭후 Generated Off Mesh Links-Drop Height을 5로 설정한다. 이는 Off Mesh Link가 생성되는 최대 높이를 지정하는 것이다.
Bake를 눌러 내비메시를 생성하면 다음과 같이 연결선이 보인다.
계단에 Collider를 추가해 올라갈수 있게 해준다. 연산부하를 줄이기 위해 Mesh Collider컴포넌트의 Convex속성을 체크해 폴리곤수를 낮춘다.
Navigation뷰의 Bake탭의 Agent Radius를 0.2로 변경후 Bake하면 좀더 촘촘하게 Off Mesh Link가 생성된다.
이제 실행해서 계단을 올라가면 몬스터들이 따라온다.
처음에 Player가 계단을 못올라 가서 헤맸는데 다음과 같이 Player collider의 Trigger를 꺼주고 해결하였다. 그리고 교재와 Rigidbody 속성이 달라 수정하였다
'유니티게임강좌 > 내비게이션 기법' 카테고리의 다른 글
[내비게이션고급] Area Mask 활용 (0) | 2023.03.19 |
---|---|
[내비게이션고급] 자연스러운 회전 처리 (0) | 2023.03.19 |
[내비게이션고급] 사용자 정의 Off Mesh Link (0) | 2023.03.18 |
[내비게이션고급] 동적장애물 (0) | 2023.03.18 |