개요
내비게이션 메시 해상도 기능은 사용자가 동일한 내비게이션 메시 내에서 3개의 서로 다른 해상도로 내비게이션 메시 타일을 생성할 수 있도록 지원합니다. 이제 타일 그룹을 높음, 중간(디폴트), 낮음 정밀도 세팅으로 생성할 수 있게 되어 런타임에서 다이내믹 내비게이션 메시를 생성하는 속도를 높일 수 있습니다.
여기에서 내비게이션 메시 해상도는 지정된 내비게이션 공간을 커버하기 위해 사용된 셀의 수와 정확도를 의미합니다. 예를 들어 높은 해상도의 타일은 지정된 공간을 더 많은 폴리곤으로 분할하여 해당 공간의 셰이프에 더 가까운 근사치를 산출할 수 있습니다. 하지만 낮은 해상도의 타일은 더 적은 폴리곤을 사용하여 동일한 공간을 커버합니다. 따라서 타일을 생성하는 속도는 빨라지지만 정확도는 떨어집니다.
일반 사용 사례
사용자는 다음 사용 사례에서 이 기능을 활용할 수 있습니다.
| 사용 사례 | 설명 |
|---|---|
| 생성 속도 향상 | 다이내믹 내비게이션 메시를 사용하는 경우, AI 에이전트가 높은 내비게이션 정확도를 필요로 하지 않는 개방된 공간 또는 영역에서는 저해상도 타일을 사용합니다. AI 에이전트가 장애물 사이의 좁은 공간을 탐색해야 하는 밀집된 영역에서만 디폴트 또는 고해상도 타일을 사용합니다. |
| 메모리 점유율 절감 | 내비게이션 메시에 저해상도 타일을 사용하면 디폴트 또는 고해상도 타일을 사용할 때보다 메모리 점유율이 줄어듭니다. 이는 모바일 디바이스 같이 메모리가 제한된 하드웨어에서 실행되는 게임의 경우 유용합니다. |
내비게이션 메시에 다수의 해상도 사용하기
-
추가(Add) + > 볼륨(Volumes) > 내비메시 바운드 볼륨(Nav Mesh Bounds Volume) 을 클릭하여 내비게이션 메시 바운드 볼륨 을 레벨에 배치합니다. 'P'를 눌러 내비게이션 메시를 시각화합니다.
-
아웃라이너(Outliner) 창에서 RecastNavMesh-Default 액터를 선택합니다. 디테일(Details) 패널로 이동하여 타일 빌드 시간 그리기(Draw Tile Build Times) 체크박스를 활성화 합니다. 그러면 각 내비게이션 메시 타일을 빌드하는 데 걸리는 시간이 밀리초 단위로 표시됩니다.
-
추가 + > 볼륨 > 내비게이션 모디파이어 볼륨(Nav Modifier Volume) 을 클릭하여 내비게이션 모디파이어 볼륨 을 레벨에 배치합니다. 모디파이어 볼륨이 다수의 내비게이션 메시 타일과 오버랩되도록 배치합니다.
-
내비게이션 모디파이어 볼륨을 선택한 상태로 디테일 패널에서 내비메시 해상도(Nav Mesh Resolution) 드롭다운을 클릭하고 낮음(Low) 을 선택합니다. 내비게이션 모디파이어 볼륨 내에서 빌드 시간이 대폭 줄어든 것을 확인할 수 있습니다.
-
액터 블루프린트 내에서 내비 모디파이어(Nav Modifier) 컴포넌트를 사용하여 내비게이션 메시 타일 해상도를 수정할 수 있습니다. 내비 모디파이어 컴포넌트를 추가하고디테일 패널로 이동합니다. 내비메시 해상도 드롭다운에서 원하는 해상도를 선택합니다.
-
아래 예시에서는 액터 블루프린트를 생성하고 내비 모디파이어 컴포넌트를 추가했습니다. 그런 다음 낮음 해상도 세팅을 선택했습니다. 액터가 내비게이션 메시 볼륨으로 드래그될 때 내비게이션 타일이 리빌드되는 모습을 볼 수 있습니다.
에이전트 내비게이션에 영향을 미칠 수 있는 내비게이션 메시 해상도
내비게이션 메시 해상도는 AI 에이전트의 내비게이션 경로에 영향을 미칠 수 있습니다. 특히 에이전트가 밀집된 장애물이나 좁은 공간 사이를 지나가야 할 때 그렇습니다.
아래 이미지에서는 내비게이션 메시에 3개의 장애물을 추가하고 타일 해상도를 낮음 으로 설정했습니다. 아래의 두 장애물 사이에 사용 가능한 경로가 없는 것을 볼 수 있습니다. 이는 해상도가 이 장애물 사이에 폴리곤을 생성하기에 충분하지 않기 때문입니다.
아래 예시에서는 타일 해상도를 디폴트(Default) 로 변경했습니다. 이 해상도는 폴리곤의 밀도를 높이기 때문에 아래 두 장애물 사이에 사용 가능한 경로가 생깁니다. 이 예시에서 에이전트는 이 장애물 사이를 이동할 수 있으며 경로가 직선으로 최적화됩니다.
최적 세팅
내비게이션 메시 타일 해상도 세팅을 변경하려면 다음 단계를 따릅니다.
-
세팅(Settings) > 프로젝트 세팅(Project Settings) 을 클릭하여 프로젝트 세팅 을 엽니다.
-
내비게이션 메시(Navigation Mesh) 카테고리를 클릭하고 생성(Generation) 섹션으로 스크롤을 내립니다. 내비메시 해상도 파라미터(Nav Mesh Resolution Params) 구조체를 펼쳐서 각 해상도 레벨의 세팅을 볼 수 있습니다.
-
이제 각 해상도 레벨별 셀 크기(Cell Size) 를 변경할 수 있습니다. 셀 크기가 클수록 더 빨리 생성됩니다.
최적의 퍼포먼스를 위해 각 셀 크기를 서로의 배수로 설정하고 타일 크기 UU(Tile Size UU) 를 모든 셀 크기 로 나눌 수 있게 합니다.
디버그 툴
아웃라이너(Outliner) 창에서 RecastNavMesh-Default 액터를 선택하고 디테일 패널로 이동하여 내비게이션 메시 타일 해상도 디버그 툴에 액세스할 수 있습니다.
타일 해상도 그리기
타일 해상도 그리기(Draw Tile Resolutions) 체크박스를 활성화하여 각 타일의 해상도를 서로 다른 컬러로 시각화합니다. 아래 표는 타일 해상도와 컬러 사이의 관계를 보여줍니다.
| 해상도 | 컬러 |
|---|---|
| 파란색 | 낮은 해상도 |
| 녹색 | 디폴트 해상도 |
| 노란색 | 높은 해상도 |
빌드 시간 히트 맵
타일 빌드 시간 히트 맵 그리기(Draw Tile Build Times Heat Map) 체크박스를 활성화하여 내비게이션 메시에서 타일 빌드 시간의 히트 맵을 시각화할 수 있습니다. 각 컬러는 빌드 시간 범위를 나타내며, 연한 파란색은 낮은 빌드 시간을 나타내고 빨간색은 높은 빌드 시간을 나타냅니다.
