NavMeshAgent

NavMeshAgent는 NavMesh 주변을 항해하는 컴포넌트이다.

NavMeshAgent

NavMesh

에이전트들을 배치한 곳 어디든 적이 갈 수 있는 지 그 여부를 알 수 있도록 월드 기하에 배치된 것이다.

Window - Ai - Navigation

Navigation

Bake 버튼을 눌러보면 특정한 것에만 적용이 되는데 NavMesh는 정적 객체에만 적용될 수 있어서 그렇다.

이렇게 인스펙터에서 정적임을 체크해줘야 된다.

이후 Bake를 하면 Bake된 NavMesh가 바뀌어 있는 걸 볼 수 있다.

* 파란색 부분 - NavMesh (NavMeshAgent가 갈 수 있는 곳)

NavMesh

여기서 NavMesh간의 사이에 틈이 생겨 Agent들이 올라가거나 내려올 수 없는 경우가 생긴다.

Agent Radius를 늘리면 가장자리의 폭이 넓어지고

Agent Radius를 줄이면 가장자리의 폭이 좁아진다.

Agent Height는 머리가 사물에 부딪치게 할지 말지를 알려준다.

Max Slope는 경사로를 지나 갈 수 있는 최대 각도다.

0으로 했더니 안 구워졌다.

Step Height는 걸어갈 수 있는 높이다.

 

스크립트 이동

NavMeshAgent를 쓰기 위해 Using UnityEngine.AI를 적어주고 NavMeshAgent의 SetDestination 함수를 사용하였다.

실행

+ Recent posts