Skeletal Mesh는 Mesh중에서 본 정보가 들어있는 Mesh입니다,

보통 애니메이션 동작하는 캐릭터나, 동물, 기계 모델은 Skeletal Mesh입니다.

 

이번 포스팅은 언리얼4에서 Skeletal Mesh의 기본적 사용방법과 최적화에 대해 작성해보겠습니다.

 

Skeletal Mesh 최적화의 핵심은 3가지 입니다.

   1. Material 슬롯 최소화

   2. Bone(본) 계층 최소화

   3. Tris(트라이앵글) 최소화

 

 

우선 무거운 Skeletal Mesh의 예시를 보겠습니다.

위 모델은 에픽게임즈에셋의 캐릭터 중 하나로 당장 쉐이더를 보지 않더라도 Skeletal Mesh정보만 확인해도 매우 무거운 것을 확인할 수 있습니다.

위와 같은 예시는 매우 퀄리티가 좋지만 모바일이나 저사양 디바이스를 타겟으로 하기엔 무리가 있습니다.

 

다음 가벼운 Skeletal Mesh 예시를 보겠습니다.

파라곤 모델과 대표적인 차이점은 위 설명대로 Material슬롯 갯수, 본 갯수, 트라이앵글 갯수입니다,

 

위 극단적 예시를 통해 Skeletal Mesh에서 최적화해야할 요소를 알아냈으니 LOD세팅을 통해 최적화를 해보겠습니다.

 

 

Skeletal Mesh LOD 세팅

LOD는 Level Of Detail의 약자로 말그대로 디테일의 단계를 지정해 잘보여야하는 모델은 퀄리티 좋게 렌더링하고 그 외 우선순위가 낮은 모델은 낮은 퀄리티로 렌더링하여 하드웨어의 자원은 아끼는 것이 목표입니다.

 

LOD는 3D DCC툴(3DsMax, Maya...)을 통해서 직접 제작할 수 도 있지만 이번 포스팅에서는 언리얼 에디터상에서 LOD를 세팅해 보겠습니다.

 

1. LOD 생성

에디터에서 Skeletal Mesh 파일을 열고 디테일 패널 -> LOD 세팅에서 위 표시한 LOD 개수를 설정하면 LOD를 몇 단계로 생성할 것 인지 설정 할 수 있습니다. 

 

LOD를 많이 생성하면 디테일을 잘 설정하여 퀄리티와 CPU, GPU성능은 보장 할 수 있지만 그 만큼 메모리 LOD들이 준비되어 있어야 합니다, 이 등가교환 법칙을 인지하고 적절히 LOD를 조절하여 최적화해야 합니다.

 

 

2. LOD 세팅 : Tris(트라이앵글), Material Slot 

최적화의 요소중 Tris(트라이앵글)과 Material Slot을 줄이는 작업입니다.

 

먼저 세팅 할 LOD 단계를 디테일 패널에서 좌측 사진과 같이 선택합니다.

다음 디테일 패널에서 좀 내리면 우측 옵션이 나옵니다, 위 설정 중에 빨간 네모 강조한 Screen Size, Reduction Setting을 설정 해보겠습니다.

 

-Screen Size

프리뷰창의 우측 상단에 보시면 현재 화면 크기를 확인 할 수 있습니다, Screen Size는 해당 LOD를 어떤 화면 크기에 출력 할 것인지 출력하는 것 입니다.

 

 

-Reduction Settings

이 옵션으로 Tris나 Vertex갯수를 제한해서 LOD를 설정 할 수 있습니다, 가장 쉽게 사용 할 수 있는 옵션을 설정 하겠습니다.

 

Triangles  Percent of Triangles옵션을 통해 Tris비율을 설정 할 수 있습니다.
Vertices  Percent of Vertices옵션을 통해 버텍스 비율을 설정 할 수 있습니다.
Max Triangles 최대 Tris 숫자를 설정해서 해당 LOD에서 이 숫자를 넘지 않게 설정합니다.
Max Vertices 최대 Vertex숫자를 설정해서 해당 LOD에서 이 숫자를 넘지 않게 설정합니다.

 

Max Triangle Count 300으로 했을때 결과

 

 

 

-Bones to Remove(본 LOD)

디테일 패널의 Bones to Remove옵션에서 LOD마다 본을 제거 할 수 있는 옵션이 있습니다.

보통 LOD에 맞춰 손가락 본이나 트위스트 본을 기본으로 제거합니다.

 

저는 과감하게 팔본을 LOD를 통해 제거했습니다, 이런식으로 본을 과감하게 제거하면 문제가 하나 발생합니다.

 

좌 : LOD 0, 우 : LOD1

 

캐릭터에 애니메이션을 재생시켰을때 본이 없어졌으니 애니메이션이 정상적으로 돌지 않습니다, 그러므로 손가락이나 트위스트 본같이 멀리서 봤을때 눈에 띄지 않는 본을 적절히 LOD설정해야 합니다.

 

 

3. LOD 세팅 : LOD Asset

Skeletal Mesh 하나하나마다 LOD를 설정한다면 매우 피곤한 일이 될것입니다, 위 LOD Asset을 생성해서 LOD세팅 정보를 파일로 따로 뽑아서 공용으로 사용 할 수 있습니다.

 

위 사진에서 애셋생성 버튼을 누르고 경로에 파일을 만들면

위 사진과 같이 파일이 생성되고 파일을 열면 우측 처럼 옵션을 확인 할 수 있습니다, 이전에 LOD 세팅했던것과 동일하게 설정하고 이 에셋 LOD정보를 사용할 Skeletal Mesh에 적용해주면 됩니다.

 


WRITTEN BY
CatDarkGame
Technical Artist dhwlgn12@gmail.com

,