언어:
페이지 정보
엔진 버전:
언리얼 엔진
이 문서가 번역된 이후 업데이트된 내용이 있을 수 있습니다. 자세한 내용은 영문 페이지를 참고하세요.

Simplygon LOD

언리얼 엔진

언리얼 엔진 4.22 이후 Simplygon 지원이 폐기되어 더이상 사용되지 않습니다. Simplygon 에서 계속 업데이트를 받을 수는 있지만, 엔진 통합은 직접 하셔야 합니다. 대안으로 사용할 수 있는 엔진 내장 솔루션은 스켈레탈 메시 단순화NEW! 문서를 참고하시기 바랍니다.

여기서는 Simplygon 을 사용하여 언리얼 엔진 4 의 스태틱 메시 에 대한 LOD 를 만드는 법을 다룹니다. Simplygon 라이선스가 없는 경우, 표준 FBX 파이프라인에 스태틱 메시 용 LOD 임포트 메서드가 있습니다. 자세한 내용은 FBX 스태틱 메시 파이프라인 문서를 참고해 주시기 바랍니다.

스태틱 메시 파이프라인은 프리세트 만들기와 완벽한 레벨 오브 디테일 (LOD) 체인 자동 생성을 핵심 기능으로 합니다. 이로써 아티스트는 메시를 만들어 임포트하기만 하면, 해당 부분에 별도의 작업을 해 주지 않고도 원거리에서의 렌더링 퍼포먼스를 향상시킬 수 있는 최적화된 버전이 생성됩니다.

주요 기능은 다음과 같습니다:

  • LOD 그룹으로 기본 레벨 오브 디테일 세팅, 라이트맵 해상도, (모든 SmallProp LOD 를 10% 줄이는 등) 전역 덮어쓰기 등을 정의할 수 있습니다. 임포트할 때 LOD 그룹을 선택한 다음 스태틱 메시 에디터에서 아무때고 바꿀 수 있습니다.

  • 플랫폼별 또는 디바이스별로 LOD 그룹 세팅을 정의하고 덮어씁니다.

  • 노멀과 탄젠트는 항상 FBX 에서 임포트됩니다. 임포트한 노멀/탄젠트를 사용할지 언리얼에서 재계산할지 언제든 선택할 수 있습니다.

  • 스태틱 메시 에디터 에서 효율적인 방식으로 LOD 구성 및 조정 가능합니다.

  • Simplygon 을 사용하여 LOD 를 자동 생성합니다.

Simplygon 은 언리얼 엔진과 함께 배포되기는 하지만, 라이선시께서 이 기능을 사용하기 위해서는 Donya Labs (simplygon.com/ ) 와 라이선스 계약을 맺으셔야 합니다.

자세한 정보는 Simplygon 컴파일NEW! 문서를 참고하세요.

LOD 관리

스태틱 메시 에디터레벨 오브 디테일 (LOD) 패널에서는 미리 구성해 둔 규칙에 따라 LOD 그룹 또는 메시/LOD 별로 레벨 오브 디테일 메시 체인을 생성하고 관리할 수 있습니다.

Level of Detail Panel

LOD 생성

LOD 생성시에는 Simplygon 으로 베이스 메시 단순화 버전을 만들어 LOD 로 사용합니다. 이 알고리즘은 타깃 복잡도, 실루엣 보존도, 텍스처 좌표 등과 같은 인수를 고려하여 원거리에서도 눈에 띄는 품질 저하나 부작용 없이 표시되는 메시를 새로 만들 수 있습니다.

LOD 그룹을 적용하려면:

  1. LOD 세팅 에서 사용할 LOD Group 을 선택합니다.

group_select.png

  1. Apply 버튼을 눌러 새로운 LOD 메시를 만듭니다.

커스텀 LOD 체인을 생성하려면:

  1. LOD 세팅 에서 생성할 LOD 메시의 수를 선택합니다.

    기준으로 삼을 LOD 그룹 을 선택한 다음 거기서부터 세팅을 변경할 수도 있습니다.

    lod_number.png

  2. 생성할 각 LOD 메시에 대해 감소 세팅 을 설정합니다.

    lod_settings.png

  3. Apply 버튼을 눌러 LOD 메시를 새로 만듭니다.

LOD 미리보기

LOD 메시 미리보기는 툴바의 컨트롤을 사용하면 됩니다:

LOD 세팅

세팅

설명

LOD Group

LOD 그룹 - 메시에 사용할 LOD 그룹 을 설정합니다.

Number of LODs

LOD 수 - 메시의 LOD 수를 설정합니다. 이 값을 수정하면 LOD 리스트가 바뀌지만, 실제 적용은 Apply 버튼을 눌러야 합니다.

Auto compute LOD Distance

LOD 거리 자동 계산 - LOD 전환 거리를 결정하는 데 있어 이 옵션을 켜면 단순한 오차 척도가, 끄면 각 LOD 의 Distance 프로퍼티가 사용됩니다.

LOD Distance Error

LOD 거리 오차 - 자동 계산 사용시 LOD 전환이 일어나는 거리에 대한 스케일입니다.

빌드 세팅

세팅

설명

Recompute Normals

노멀 재계산 - 켜면 스무딩 그룹은 언리얼에서 다시 계산, 끄면 FBX 파일의 것을 유지합니다.

Recompute Tangents

탄젠트 재계산 - 켜면 탄젠트는 언리얼에서 다시 계산, 끄면 FBX 파일의 것을 유지합니다.

Remove Degenerates

디제너레이트 제거 - 켜면 임포트 도중 발견된 퇴화 트라이앵글을 제거, 끄면 유지합니다. 일반적으로 이 옵션은 켜 두는 것이 좋습니다.

Use Full Precision UVs

최대 정밀도 UV 사용 - 켜면 메시의 UV 는 16 비트가 아닌 32 비트 float 로 저장됩니다.

감소 세팅

세팅

설명

Percent Triangles

퍼센트 트라이앵글 - 지정된 트라이앵글 수에 딱 맞을 때까지 에디터는 메시를 단순화시킵니다.

Max Deviation

최대 편차 - 범위 구체의 백분율로 정의되는 베이스 메시와의 최대 편차입니다. 에디터에서는 메시에 대한 오차 척도 계산에 원하는 퀄리티를 사용합니다. 이 오차 척도는 단순화되는 메시의 표면이 원본 메시의 표면과 너무 크게 차이나지 않도록 하는 데 쓰입니다. 이러한 접근법의 장점이라면, 임의의 트라이앵글 제한에 구애받지 않고 원본에서의 일정 편차 내에서 메시를 똑똑하게 최적화시킬 수 있다는 점입니다.

Silhouette

실루엣 - 메시의 실루엣 중요도를 나타냅니다. , 최저, 낮음, 보통, 높음, 최고 중에서 선택할 수 있습니다. 높은 것을 선택할 수록 단순화시 메시의 지오메트리 모양이 더욱 잘 보존되지만, 트라이앵글 수가 많아집니다.

Texture

텍스처 - 텍스처 밀도를 나타냅니다. , 최저, 낮음, 보통, 높음, 최고 중에서 선택할 수 있습니다. 높은 것을 선택할 수록 단순화시 텍스처가 늘어나는 부작용을 피할 수 있는 확률이 높아지지만, 트라이앵글 수가 많아집니다.

Shading

셰이딩 - 셰이딩 퀄리티를 나타냅니다. , 최저, 낮음, 보통, 높음, 최고 중에서 선택할 수 있습니다. 높은 것을 선택할 수록 단순화시 셰이딩 퀄리티가 더욱 잘 보존되지만, 트라이앵글 수가 많아집니다.

Welding Threshold

결합 한계치 - 이 거리 안에 있는 버텍스들은 자동으로 결합됩니다. 작은 면을 없애는 데 도움이 됩니다. 값을 크게 주면 원하지 않는 결과가 발생할 수 있습니다.

Hard Edge Angle Threshold

하드 에지 각도 한계치 - 두 면의 사이각이 이보다 크면 하드 에지가, 작으면 소프트 에지가 됩니다.

LOD 그룹

LOD 그룹은 기본 레벨 오브 디테일 세팅 정의는 물론 스태틱 메시를 전역에서 일괄적으로 변경해 주기도 하는 옵션입니다.

그룹은 Engine.ini 파일의 [StaticMeshLODSettings] 섹션에 다음과 같이 정의됩니다:

[StaticMeshLODSettings]
LevelArchitecture=(NumLODs=4,LightMapResolution=32,LODPercentTriangles=0.5,SilhouetteImportance=4)
SmallProp=(NumLODs=4,LODPercentTriangles=0.5)
LargeProp=(NumLODs=4,LODPercentTriangles=0.5)
Vista=(NumLODs=1)
Foliage=(NumLODs=1)

다음과 같은 다섯 LOD 그룹이 정의됩니다:

  • LevelArchitecture

  • SmallProp

  • LargeProp

  • Vista

  • Foliage.

LOD 그룹의 추가 제거는 단순히 INI 편집을 통해 코드 변경 없이 가능합니다. 추가된 LOD 그룹은 에디터 UI 에 자동으로 나타납니다. 그룹에 있다가 제거된 메시들에는 코드가 결정한 기본 세팅이 사용됩니다. 그 기본 세팅 역시 INI 에 None LOD 그룹을 정의하여 덮어쓸 수 있습니다.

그룹 디폴트 세팅

다음 세팅은 각 그룹의 디폴트를 정의합니다. 메시 임포트시 또는 메시의 LOD 그룹 변경시에만 적용됩니다.

세팅

설명

NumLODs

LOD 수 - 기본적으로 생성할 LOD 수 입니다. 이 값의 범위는 1-4 입니다.

LightMapResolution

라이트맵 해상도 - 사용할 라이트맵 해상도입니다.

BasePercentTriangles

베이스 퍼센트 트라이앵글 - 베이스 LOD 에 유지할 트라이앵글 수 백분율로, 0.0-1.0 범위입니다.

LODPercentTriangles

LOD 퍼센트 트라이앵글 - 각 LOD 에 감소시킬 트라이앵글 수 백분율입니다. 예로 LOD 가 4 개이고 LOD0 의 트라이앵글 수가 5000 개인 메시에 대해 값이 0.5 인 경우, 나머지 LOD 의 트라이앵글 수는 각각 2500, 1250, 625 개가 됩니다.

MaxDeviation

최대 편차 - 로컬 스페이스에서 베이스 LOD 와 다른 LOD 표면의 최대 편차입니다.

Welding Threshold

결합 한계치 - 이 거리 안에 있는 버텍스들은 자동으로 결합됩니다.

HardAngleThreshold

하드 앵글 한계치 - 두 트라이앵글 사이각이 이 각도보다 크면, 그 사이의 노멀은 에지에 대해 스무딩이 적용되지 않습니다.

SilhouetteImportance

실루엣 중요도 - 값이 클 수록 LOD 생성시 오브젝트의 실루엣 보존율이 높아집니다.

TextureImportance

텍스처 중요도 - 값이 클 수록 LOD 생성시 텍스처의 늘어짐이 줄어듭니다.

ShadingImportance

셰이딩 중요도 - 값이 클 수록 LOD 생성시 노멀의 변화가 최소화됩니다.

그룹 글로벌 세팅

다음 세팅은 그룹의 모든 메시를 변경하는 데 사용됩니다. 이 세팅은 새로운 메시와 기존 메시 둘 다에 영향을 끼칩니다:

세팅

설명

BasePercentTrianglesMult

베이스 퍼센트 트라이앵글 배수 - 베이스 LOD 를 더욱 감소시킵니다. 예를 들어 이 값이 0.9 로 설정된 경우, 그룹 내 모든 메시의 베이스 LOD 는 트라이앵글 수가 10% 감소됩니다.

LODPercentTrianglesMult

LOD 퍼센트 트라이앵글 배수 - 각 LOD 의 트라이앵글을 더욱 감소시킵니다. BasePercentTrianglesMult 와 비슷하지만 베이스 LOD 에는 적용되지 않습니다.

MaxDeviationBias

최대 편차 편향치 - 모든 메시의 감소 도중 사용할 최대 편차를 조정합니다.

WeldingThreshold

결합 한계치 - 모든 메시의 감소 도중 사용할 결합 한계치을 조정합니다.

HardAngleThreshold

하드 앵글 한계치 - 모든 메시의 감소 도중 사용할 하드 앵글 한계치을 조정합니다.

SilhouetteImportance

실루엣 중요도 - 모든 메시의 감소 도중 사용할 실루엣 중요도를 조정합니다.

TextureImportance

텍스처 중요도 - 모든 메시의 감소 도중 사용할 텍스처 중요도를 조정합니다.

ShadingImportance

셰이딩 중요도 - 모든 메시의 감소 도중 사용할 셰이딩 중요도를 조정합니다.

Simplygon on UE4

Simplygon

Simplygon (심플리곤)은 일정한 화면상의 크기에 대해 LOD 퀄리티 손상 없이 가급적 많은 정보를 제거하는 식으로, 게임에서 바로 쓸 수 있는 특정 픽셀 해상도의 레벨 오브 디테일(LOD) 모델을 자동 생성하는 툴입니다. 심플리곤은 LOD 전환시 지오메트리 LOD 충실도와 비주얼 퀄리티를 유지하는 독점적 메시 축소 메서드를 사용하여, AAA 급 게임에서 바로 사용할 수 있는 AutoLOD 를 만들어 냅니다.

언리얼 엔진 4 에서는 심플리곤을 적극 활용, 언리얼 에디터를 나갈 필요 없이 하이 퀄리티 메시 축소 기능을 제공합니다. 개발자는 빠르게 메시를 단순화시키고, LOD 를 생성하여, 그 결과를 맵 안에서 바로 확인할 수 있습니다.