-
Navigation Mesh
게임 세계에서 걸을 수 있는 표면을 표현한다.
NavMesh 만드는 법
Windows > AI > Navigation
과정
1. 내비게이션에 영향을 주는(걸을 수 있는 표면과 장애물) 씬 지오메트리 선택
2. Navigation Static으로 지정하여 베이킹 프로세스 안에 해당 오브젝트를 포함
3. 설정을 에이전트 크기에 맞춤
4. Bake -> 기본 지오메트리 레벨 위에 파란색으로 오버레이됨
5. 씬 파일이 저장된 곳에 NavMesh.asset 생성됨NavMesh 설정
NavMesh Bake
- Agent Radius : 벽이나 낭떠러지 같은 지형에 에이전트 센터가 얼마나 가깝게 다가갈 수 있는 지를 정의함.
- Agent Height : 에이전트가 다가갈 수 있는 공간의 높이.
- Max Slope : 에이전트가 걸어갈 수 있는 경사의 기울기.
- Step Height : 에이전트를 멈춰 세우는 장애물의 높이.
NavMesh Agent
컴포넌트를 사용하여 각자의 목적지로 이동하는 동안 서로를 피할 수 있는 캐릭터 생성.
- 에이전트는 내비 메시를 사용하여 게임 월드를 추론하고, 장애물 뿐만 아니라 서로를 피함.
- NavMeshAgent.SetDestination(Vector3 target)
- 새로운 경로에 대한 목적지를 설정 또는 업데이트함.
- 성공적으로 요청되었을 때 true, 아닐 경우 false 반환.
- 경로가 계산되는 동안에도 true 반환하고, 유효한 경로를 찾게 되면 에이전트가 이동함
NavMesh Obstacle
컴포넌트를 사용하여 에이전트가 월드를 탐색하는 동안 회피해야하는 움직이는 장애물.
- Carve : True일 때, 내비메시 장애물이 내비메시에 구멍을 만듦.
- Move Threshold : 내비메시가 파인 구멍을 업데이트하는 임계 거리 설정 수치.
- Time To Stationary : 장애물이 정지되었다고 간주할 때까지 기다리는 시간(초).
- Carve Only Stationary : 활성화하면 정지되어있을 때만 구멍을 파냄.
- Carve가 활성화되지 않은 경우, Collider와 유사하게 작동.
- 차량과 같이 장애물이 계속 움직이는 경우에 적합한 설정.