본문 바로가기
프로그래밍/유니티

Unity NavMesh #7 실시간 네비메시 빌드 4

by 넋두리- 2021. 3. 17.

Unity NavMesh Building Component 예제가 몇 개 안남았군요..

비슷한 내용이 자꾸 반복되는 것 같아서 빠르게 훑어야 할 것 같아요.

 

이전의 포스팅과 마찬가지로

혹시 NavMesh Building Component를 다운받지 않았으면 아래 링크에서 먼저 다운로드 해주세요.

다운로드 : github.com/Unity-Technologies/NavMeshComponents

 

Unity-Technologies/NavMeshComponents

High Level API Components for Runtime NavMesh Building - Unity-Technologies/NavMeshComponents

github.com

6_modify_mesh.unity 씬을 열어주세요.

 

오늘도 실시간 네비 메시 빌드네요.

 

6_modify_mesh

 

마우스 좌클릭 시 피킹된 지점의 터레인 하이트 값이 커지고, 우클릭시 터레인 하이트 값이 작아집니다.

왼쪽 씬 탭에 보이는 네비 메시를 보시면 높낮이에 따라서 못가는 지역이 되어버리는데요,

 

NavMesh Agent Setting

에이전트의 세팅 값에 있는 Radius, Height, Step Height, Max Slope 값을 이용해서

네비 메시 빌드가 되는 단계에서 해당 지역을 갈 수 있는지 없는지 결정이 되기 때문입니다.

예를 들어서, 경사면이 45도가 넘는 60도정도가 된다고하면 해당 지역은

위에 있는 Humanoid가 갈 수 없는 지역이 되는 것이지요.

 

  • Radius는 벽이나 낭떠러지 같은 지형에 에이전트 센터가 얼마나 가깝게 다가갈 수 있는지를 정의합니다.
  • Height는 에이전트가 다가갈 수 있는 공간의 높이를 정의합니다.
  • Max Slope는 에이전트가 걸어 올라갈 수 있는 경사의 기울기가 어느 정도 되는지 정의합니다.
  • Step Height는 에이전트를 멈춰 세우는 장애물의 높이가 어느 정도 되는지 정의합니다.

docs.unity3d.com/kr/current/Manual/nav-BuildingNavMesh.html

 

내비메시 빌드 - Unity 매뉴얼

레벨 지오메트리에서 내비메시(NavMesh) 생성 과정을 내비메시 베이킹이라 부릅니다. 이 프로세스는 내비게이션 정적으로 마크된 메시 렌더와 모든 게임 오브젝트의 터레인을 수집한 후 처리하여

docs.unity3d.com

 

추가적으로 궁금하신 부분은 도큐먼트를 참고해주시면 될 것 같습니다.

 

여기서 중요한 점은 이러한 변동 사항이 즉각적으로 네비 메시에 반영이 되고,

퍼포먼스에 크게 부담을 주지 않는다는 점입니다.

 

이번 예제도 이전 예제들과 중복되는 내용이 많으니 간단히 마무리 짓겠습니다.

그리고 나머지 예제 7번, 8번 씬은 특별히 네비 메시 관련된 내용이 없으니 패스하도록 하겠습니다.

 

다른 유익한 정보로 또 찾아올게요!

댓글