SSUNBORI Archive

3d Generalist를 꿈꾸는 Modeler ssunbori 입니다. 생성형 ai, 모델링 툴, 게임 엔진을 주로 공부하고 있습니다.

Artstation 자세히보기

UNITY

[Unity] Unity NavMesh : NavMesh 베이크하는 방법

ssunbori 2023. 4. 24. 12:27

목차


    게임 맵 제작 시 캐릭터가 이동(Navigation)가능한 영역을 미리 확인하는 방법

     

    1. 맵을 유니티에 업로드
    2. 맵으로 사용되는 Mesh 선택후 Inspector 창에서 Static으로 설정
    3. 맵 오브젝트들을 (선택한 상태에서) Navigation 탭으로 넘어가서 Agent 사이즈와 radius, height를 설정하고 Bake 누르기
    4. Bake된 맵 확인하면서 수치 조정

     

    맵 업로드

    맵 업로드는 이전에 올렸던 MeshSync를 사용해서 업로드했다.

    https://ssunbori.tistory.com/6

     

    [Package] MeshSync로 블렌더-유니티 실시간 연동하기① - 기능설명

    소개 유니티 실험 기능인 MeshSync를 이용하면 블렌더와 유니티를 실시간으로 연동하여 블렌더 내에서 편집한 사항을 실시간으로 볼 수 있다. 또한, 유니티에서 편집한 블렌더 메쉬도 블렌더 프로

    ssunbori.tistory.com

    꼭 Material도 Sync해서 가져와야 함.

    (노드로 입힌 재질들은 넘겨오기 전에 Bake 필수)

    맵 에셋을 업로드한 모습

    메쉬 선택 후 Static 설정

    오브젝트의 Children에게도 동일한 효과를 적용시킬 수 있다.

    나는 MeshSyncServer 밑에 모든 메쉬가 들어 있어서, 이것만 선택하고 Static 적용

     

    Navigation 탭에서 Bake

    Agent 사이즈와 Radius, 각도 등을 조절하고 Bake를 누른다.

    그러면 아래 보이는 것처럼 메쉬 위에 지나다닐 수 있는 영역이 결과값으로 표시되는데, 맵을 확인해보면서 디테일한 수치를 조정하면 됨.

    만든 Navigation Bake 메쉬는 동일한 씬 이름으로 된 폴더 안에 NavMesh라는 이름으로 저장된다.

    만든 Navigation Bake 메쉬는 동일한 씬 이름으로 된 폴더 안에 NavMesh라는 이름으로 저장된다.

    Static 종류 설정

    수풀의 navigation을 켜고/끄고 Bake한 모습

    Navigation Mesh를 Bake할 때, 장애물로 인식할 오브젝트와 아닌 오브젝트의 구분은 Static 활성화 종류로 설정할 수 있음

    장애물로 계산할 필요가 없는 오브젝트들(통과해도 괜찮은 것들, 혹은 원경에 위치하는 배경 오브젝트)은 Navigation을 끄고 Bake하면 된다.

    'UNITY' 카테고리의 다른 글

    [Unity] Unity Muse 소개  (0) 2023.08.16
    [Unity] MeshBaker-Batch Prefab Baker로 베이크하기  (0) 2023.07.05
    [Unity] MeshBaker로 베이크하기  (1) 2023.05.15