본문 바로가기
개발/유니티 (Unity)

Unity LOD 최적화.

by 레조 2024. 5. 15.

원본 vertex 1838, triangle 2141
LOD1 vertex 1186
LOD2 vertex 1032
LOD3 vertex 871, triangle 642

 

버텍스 수가 1838개에서 871개로 떨어진다!

그렇다. 유니티만 있으면 됩니다.

 

메시 버텍스 수 줄이는 방법.

1. 그래픽 디자이너가 직접 low 폴리곤 메시를 제작. (최적화 높음)

2. 직접 3D 툴의 Modifier를 사용. (무료 + 시간, 최적화 중간)

https://www.youtube.com/watch?v=ifNyVS2_6f8 

 

3. 단일 메시 FBX에서 에셋 조합으로 LOD FBX 변경. (빠르다, 최적화 적당)

 

그럼 유니티 에셋 조합, FBX -> LOD FBX 만들어 보자!

 

먼저 두 가지 유니티 패키지를 설치한다.

1. (무료)FBX Exporter : Prefab -> FBX 변환

   (github.com/KellanHiggins/UnityFBXExporter)

2. (유료)Ultimate LOD System MT : 하이 폴리곤 메시 -> 로우 폴리곤 메시 변환

   (assetstore.unity.com/packages/tools/utilities/ultimate-lod-system-mt-170425)

   (Low 폴리곤 메시 생성하는 대안이 있다면 그것을 사용해도 됩니다. 직접 Blender 사용.)

 

 

작업 순서

1. FBX 파일을 Hierarchy에 끌어서 Prefab으로 만든다.

2. Prefab 해제한다. (우클릭 -> Unpack prefab completely)

3. Ultimate LOD System MT 사용하여 LOW 폴리곤 메시를 뽑아낸다.

https://www.youtube.com/watch?v=Pmmeggt_TOk 

 

4. 유니티는 이름으로 LOD FBX를 인식한다. 
   빈 게임오브젝트 아래에 기존 FBX를 반복 생성한다.

LOD

 

5. 미리 만들어둔 LOW 폴리곤 메시를 적절한 LOD1~3 메시에 할당한다. (안 쓴다면 Mesh Collider는 제거)

6. 익스포팅: 최상단 GameObject 선택하고 메뉴에서 GameObject -> FBX Exporter -> Only GameObject

7. LOD FBX 파일 완성!

원본 Tris 3.6k, Verts 2.9k
LOD3 Tris 1k, Verts 1.4k

 

하나씩 블렌더 Modifier 사용하여 최적화해야 했는데 유니티에서 다 되니 좋다.

 

단,

 

자동 LOD Mesh가 가끔 깨져서 나오는 경우가 있다.

이럴때는 Blender 사용해야하는데,

Blender는 FBX Exporter에서 나온 ASCII 버전 FBX 파일을 Import 할 수 없다.

 

Autodesk 툴을 이용해서 Binary FBX로 변환 후 Blender에서 사용할 수 있다.

(www.autodesk.com/developer-network/platform-technologies/fbx-converter-archives)

 

FBX Converter Archives | Autodesk Developer Network

The Autodesk® FBX® Converter Archive

 

www.autodesk.com