LOD 생성 및 사용하기

LOD를 생성 및 사용하는 방법을 살펴봅니다.

Choose your operating system:

Windows

macOS

Linux

플레이어가 레벨에 배치한 스태틱 메시에 다가가면 메시를 매우 디테일하게 표시해야 합니다. 하지만 플레이어가 메시에서 멀어지면 메시를 매우 디테일하고 복잡하게 표시할 필요가 없습니다. 화면에서 몇 픽셀밖에 차지하지 않고 플레이어가 거의 볼 수 없다면 복잡하고 디테일한 메시는 의미가 없기 때문입니다. 그러나 플레이어가 메시에 가까이 다가가면 또렷하게 볼 수 있을 정도로 디테일해야 합니다. UE4에서는 플레이어가 멀어지면 조금 덜 복잡한 메시로 전환되도록 레벨에 메시를 배치하여 레벨의 퍼포먼스를 높일 수 있습니다. 이렇게 하게 위해서는 레벨 오브 디테일(LOD) 을 사용합니다. 이 하우투에서는 디테일 수준이 낮은 메시 버전을 UE4로 임포트하고 플레이어가 다가가거나 멀어지는 경우 서로 다른 메시를 끊김없이 교체하는 방법에 대해 알아봅니다.

구성

이 하우투를 따라 하려면 UE4로 임포트할 수 있는 .FBX 포맷으로 저장된 메시가 있어야 합니다. 이 예시에서는 Maya에서 만든 단순 폴리곤 구체를 사용하지만 다른 애플리케이션에서 만든 에셋을 사용해도 됩니다.

메시를 익스포트한 다음 UE4를 실행합니다. 작업할 프로젝트가 있는 경우 이 하우투에서 해당 프로젝트를 사용해도 됩니다. 그렇지 않은 경우에는 시작용 콘텐츠(Starter Content) 를 활성화하고 블루프린트 1인칭(Blueprint First Person) 템플릿으로 새 프로젝트를 생성합니다. '시작용 콘텐츠'를 활성화하지 않으면 나중에 사용해야 하는 에셋이 없어서 따라 하기가 어려워질 수도 있습니다.

새 프로젝트를 생성하는 방법에 대한 자세한 내용은 새 프로젝트 생성 페이지를 참고하세요.

그런 다음 프로젝트의 이름과 위치를 지정하고 프로젝트 생성(Create Project) 버튼을 클릭합니다.

LOD 생성하기

프로젝트가 로드되면 콘텐츠 브라우저(Content Browser) 에서 Meshes 폴더로 이동하여 FirstPersonCube_Rounded 에셋을 찾습니다.

![](CubeInContentBrowser.png)

에셋을 찾은 다음 더블클릭 하거나 우클릭 후 나타나는 컨텍스트 메뉴에서 편집(Edit) 을 선택하여 '스태틱 메시 에디터(Static Mesh Editor)'에서 에셋을 엽니다. 이제 다음과 같은 화면이 표시됩니다.

![](CubeInStaticMeshEditor.png)

'스태틱 메시 에디터'에서 에셋을 연 다음 디테일(Details) 패널을 찾습니다. 기본적으로 이 패널은 오른쪽 상단 구석에서 찾을 수 있습니다. '디테일' 패널은 아래와 같은 모습입니다.

![](DetailsLOD0.png)

상단 섹션에 'LOD0'으로 라벨이 지정되어 있습니다. LOD는 0 기반 시스템이므로 'LOD0'이 첫 번째 항목이 되며, 'LOD1'은 두 번째가 됩니다. 'LOD0'은 메시의 베이스 LOD이며 이 메시처럼 LOD가 1개 뿐인 경우에는 이 LOD가 유일하게 사용됩니다. 다음 단계에서는 이것을 변경해 보겠습니다.

그 바로 아래에는 'LOD 세팅(LOD Settings)' 섹션이 있습니다. 이 섹션에서 몇 가지 옵션을 살펴보겠습니다. 첫째는 'LOD 개수'입니다. 기본적으로 '1'로 설정되어 있으며 LOD를 임포트하면 증가합니다. 이 값은 자동 메시 감소 기능이 활성화된 경우에도 편집할 수 있습니다. 하지만 이 기능을 사용하려면 먼저 Simplygon에서 라이선스를 받아야 합니다.

다음으로 살펴볼 옵션은 LOD 임포트(LOD Import) 입니다. 이 옵션은 아래와 같은 드롭다운 메뉴를 표시합니다.

![](ImportLODLevel1.png)
LOD 레벨 1 임포트(Import LOD Level 1) 를 선택합니다. 그러면 이 하우투에서 앞서 언급한 .FBX 파일을 찾을 수 있는 창이 열립니다. .FBX 파일을 찾아서 선택하면 해당 파일을 메시 LOD1, 즉 두 번째 LOD로 임포트합니다. 이렇게 하고 나면 화면 오른쪽 하단에 다음과 같은 팝업 알림이 표시됩니다.

![](SuccessfulImport.png)

이 예시에서는 LOD를 1개만 임포트하여 총 2개의 LOD를 사용하지만 원하는 경우 더 임포트해도 됩니다. 이렇게 하려면 LOD 임포트 드롭다운 메뉴를 클릭하고 임포트 LOD 레벨 X(Import LOD Level X) 를 선택합니다. 여기서 X는 다음으로 임포트할 LOD에 해당합니다. 이미 임포트한 LOD를 리임포트해도 됩니다. 'LOD1'에 이미 임포트한 것 대신 다른 메시를 임포트하려면 LOD 임포트 드롭다운 메뉴를 클릭하고 LOD 레벨 1 리임포트(Reimport LOD Level 1) 를 선택합니다. 이제 드롭다운 메뉴를 클릭하면 다음과 같은 옵션이 표시됩니다.

![](ImportLODLevel2.png)

이제 'LOD1' 메시가 임포트되었으므로 LOD의 힘을 보여 줄 몇 가지 값을 조정해보겠습니다. '디테일' 패널에 있는 LOD 세팅 섹션에서 가장 먼저 살펴볼 옵션은 LOD 거리 자동 계산(Auto Compute LOD Distances) 입니다. 이 옵션은 화면 크기의 백분율을 LOD로 똑같이 나눠 언제 LOD를 전환할지 알려줍니다. 예를 들어 이 경우 LOD가 2개이므로 메시가 화면의 50% 이상을 차지하는 경우 'LOD0'이 표시됩니다. 메시가 화면의 50% 미만을 차지하면 'LOD1'이 표시됩니다. LOD가 3개인 경우 'LOD0'은 메시가 화면의 66.7% 이상을 차지하면 표시됩니다. 'LOD1'은 해당 값과 33.3% 사이에서, 'LOD2'는 메시가 화면의 33.3% 미만을 차지할 때 표시됩니다. 하지만 사용하는 메시가 화면의 50% 미만을 차지하는 경우가 더 많으면 이 방법은 그다지 유용하지 않게 됩니다. 이러한 경우에는 LOD 거리 자동 계산 의 체크를 해제하고 개별 LOD의 화면 크기(Screen Size) 값을 수동으로 조정할 수 있습니다.

![](AutoComputeLODDist.png)

데모 진행을 위해 LOD 거리 자동 계산 의 체크를 해제합니다. 이렇게 하고 나서 LOD1화면 크기0.01 로 변경합니다. 그러면 레벨에 있는 큐브 메시가 화면 크기의 1% 미만을 차지할 때 이 큐브 메시는 'LOD1'(이 예시에서는 구체)로 임포트된 메시로 전환됩니다. 각 LOD의 머티리얼도 변경할 수 있습니다. LOD의 힘과 유용성을 더 보여드리기 위해 'LOD1'의 머티리얼을 M_Metal_Gold 로 변경해보겠습니다.

![](ChangeMaterial1.png)

콜리전

임포트한 LOD 에서 스태틱 메시 가 트라이앵글별로 복합 콜리전(Complex Collision) 을 사용하도록 설정할 수 있습니다. 이렇게 하면 피직스 퍼포먼스를 최적화하는 데 유용합니다. 특히 스태틱 메시 또는 복합 콜리전 트레이스(Complex Collision Trace) 에 대해 복합 콜리전이 많은 경우에 그렇습니다. 하지만 런타임에서 LOD가 변경될 때 복합 콜리전 이 변경되지 않으며, 선택된 LOD는 해당 메시에 대한 전체 복합 콜리전에 사용됩니다.

이를 구성하는 방법에 대한 자세한 내용은 스태틱 메시에서 콜리전 구성하기 페이지를 참고하세요.

사용 중인 LOD

여기까지 한 다음 메시를 저장하고 레벨 에디터(Level Editor) 로 돌아갑니다. 메시로 다가가면 모서리가 둥글게 처리된 큐브인 것을 확인할 수 있습니다. 메시에서 멀어지면 임포트한 구체가 됩니다. 이는 거리가 아닌 화면 크기로 계산된다는 점에 유의하세요. 작은 메시 인스턴스 옆에 큰 메시 인스턴스를 배치하고 두 메시로부터 똑같은 거리만큼 움직이면 작은 인스턴스가 큰 인스턴스보다 먼저 다음 LOD로 전환됩니다. 아래 예시를 참고하세요.

![](LODExampleFar.png)(w:450)

![](LODExampleNear.png)(w:450)

먼 LOD

가까운 LOD

멀어지면 전경에 있는 큐브만 화면의 1% 이상을 차지하므로 여전히 'LOD0', 즉 큐브입니다. 하지만 뒤에 있는 메시는 멀어질수록 작아져서 화면 크기의 1% 미만이 되고 'LOD1'(이 예시에서는 금색 구체)로 전환됩니다. LOD는 화면 크기와 함께 스케일이 조정되므로 '뷰포트(Viewport)'를 디태치하고 크기를 조정하면 메시가 가리는 부분의 퍼센티지가 '뷰포트' 크기와 함께 스케일 조절되면서 LOD도 변경됩니다.

큐브를 구체로 바꾸는 것은 그다지 실용적인 LOD 활용법이 아니지만 이 예시에서는 LOD의 작동 방식을 잘 보여줍니다. 지금까지 LOD를 레벨에 있는 메시에 적용하여 가까이에서는 좋아 보이고 멀리서는 퍼포먼스를 위해 최적화되도록 만드는 방법을 알아봤습니다.