상세성 레벨(Level of Detail )(Pro 전용)
사용자의 씬 규모가 커짐에 따라, 성능이 점점 더 이슈화 됩니다. 이를 관리하는 방법 중 하나는, 카메라가 오브젝트에서 얼마나 떨어져 있는 가에 따라 메쉬의 상세성 레벨을 다양화하는 것입니다.
이것을 상세성 레벨(Level of Detail,
약자로 LOD
)이라고 부릅니다
다음은 오브젝트를 여러 LODs
로 설정하는 방법 중 한 가지입니다.
- 씬(Scene)에서 빈 Game Object 을 생성합니다.
- 2 가지 버전의 메쉬를 만든다 – 고해상도 메쉬(L0D:0는 카메라가 가장 근접했을 때)와 저해상도 메쉬(L0D:1는 카메라가 가장 멀리 있을 때)
- 이 오브젝트에 LODGroup 컴포넌트를 추가합니다 (Component→Rendering→LOD Group)
- 고해상도 메쉬를 가지고 있는 오브젝트를 L0D:0에 대한 첫 번째Renderers 박스 위로 드래그하고, "Reparent game objects?" 대화창에서 yes을 선택합니다.
- 저 해상도의 메쉬를 가진 오브젝트를 LOD:1에 대한 첫 번째 Renderers 박스 위로 드래그하고, "Reparent game objects?" 대화장에서 yes 을 선택합니다.
- LOD:2 위로 마우스 오른쪽 버튼을 클릭하여 그것을 제거합니다.
이 시점에서 빈 오브젝트는 양 버전의 메쉬를 모두 포함하고 있어야 하고, 카메라가 얼마나 떨어져 있는가에 따라 어떤 메쉬를 나타낼지 “알고” 있어야 합니다.
사용자가 이 효과를 미리 확인하려면, LODGroup 컴포넌트에 대해 카메라 아이콘을 창의 왼쪽 오른쪽으로 드래그해 보면 됩니다.
→camera at LOD 0 →camera at LOD 1
Scene View
내에서, 사용자는 다음을 확인할 수 있어야 합니다
- 해당 오브젝트가 차지하는 뷰(view)의 퍼센트
- 어느
LOD
가 현재 표시되고 있는지 - 삼각면(triangles)의 개수
에셋 들여오기 파이프라인(asset import pipeline)에서 LOD 기반의 명명규칙
LOD의 설정을 단순화하기 위하여, Unity는 들여오는 모델에 대한 명명 규칙을 제시합니다. 사용자 모델링 툴에서 메쉬를 생성할 때 _LOD0, _LOD1, _LOD2 등으로 끝나는 이름으로 명명하면, 적당한 설정을 가진 LOD 그룹이 사용자에 대해 생성될 것입니다. 이 규칙이 LOD 0 을 가장 높은 해상도로 가정함을 주의합니다.
다양한 플랫폼에 대한 LODs 의 설정
Quality Settings 에서 각 플랫폼에 대해 사용자의 LOD 설정을 조정할 수 있으며, 특히 LOD bias 와 Maximum LOD Level의 속성에 대해 수행할 수 있습니다.
Utilities
다음의 사용자의 LODs 작업에 데 필요한 옵션들입니다
Recalculate Bounds | 바운딩 볼륨(bounding volume)에 반영되지 않고 LODGroup에 추가되는 새 기하구조(geometry)가 있다면, 해당 bound을 업데이트 하려면 이를 누릅니다. 이것이 필요한 예의 하나로는 기하구조(geometries)의 하나가 프리팹 prefab의 일부인 경우이며, 새 기하구조가 해당 프리펩에 추가된다. LODGroup 에 직접적으로 추가되는 기하구조는 bound에 자동으로 업데이트 될 것입니다 |
Update Lightmaps | lightmaps 내의 Scale in Lightmap 의 속성을 LOD 레벨 바운더리를 기반으로 업데이트 합니다. |
Upload to Importer | LOD 레벨 바운더리를 들여오기로 업로드 합니다 |
- 출처: 유니티코리아위키 (CC BY-NC-SA 2.0)