와와

[절대강좌유니티] 10. 네비게이션 고급 기법 본문

개발/Unity 3D

[절대강좌유니티] 10. 네비게이션 고급 기법

정으주 2022. 2. 5. 21:43

10. 네비게이션 고급 기법

 

1) 동적 장애물

: 몬스터가 Player를 추적하는 상황에서 장애물이 사라졌을 때 그 빈 공간을 여전히 장애물로 인식하는 문제

 

  • NavMeshObstacle 컴포넌트

 바닥 전체를 네비메시로 베이크 -> 동적 장애물 오브젝트에 NavMeshObstacle 컴포넌트 추가 -> carve 속성 체크

 

* Carve: 네비메시를 실시간으로 갱신

Carve 옵션 설명
Move Threshold 속성값의 거리만큼 이동했을 때 내비메시를 갱신
Time To Stationary 동일 위치에서 일정 시간동안 정지했을 때 내비메시를 갱신한다
Carve Only Stationary 정지 상태에만 내비메시를 갱신한다

 

2) Off Mesh Link Generation

: 서로 분리된 메시 연결 ( 추적이 가능하도록 연결고리 생성 )

 

내비게이션 뷰 > Object > Navigation Static & Generate OffMesh Links 옵션 체크

 

3) 사용자 정리 Off Mesh Link

1. 내비게이션 뷰 > Object > Navigation Static 체크 & Generate OffMesh Links 언체크

2. 하위 빈 오브젝트로 StartPos, EndPos 설정 후 원하는 위치에 배치

3. Off Mesh Link에 각 지점 연결

 

4) 자연스러운 회전 처리

5) Area Mask 의 활용

  • 경로의 가중치