본문 바로가기

유니티/최적화

유니티 모바일 최적화(4) - mesh 최적화

반응형

mesh최적화에 대해 포스팅하기전 우선 Draw Call과 Batches에 관해 간단하게 작성하겠다

Draw Call

  • CPU가 GPU에게 어떠한 물체를 그리라고 요청하는 것
  • 모바일의 경우 100개정도가 상한선
  • 일반적으로 오브젝트를 그릴 때, 오브젝트 단위로 한 개씩 증가. 또한 Draw Call이 적을수록 가벼운 게임 이라 할 수 있다. 기기의 성능에 따라 특정 개수를 넘어가면 프레임 저하 나타남

 

Batches 

  • 드로우 콜을 포함하는 상위 개념
  • Batches = Draw Call + 기타 등등
  •  Batches=메쉬의 개수 + 라이트의 개수 + 재질의 개수 -동적 배칭으로 절약된 개수이다. 

내가 최적화를 찾아보게 된 가장 큰 이유가 있다. 모바일에서 내가 만든 게임을 해보려는데 너무 렉이 걸려서 도저히 못 하는 수준이었다. 아래는 내가 mesh bake를 통해 최적화를 하기 전이다.

 

최적화 전 인게임

우측 상단의 Batches가 보이는가? 1426이라는 숫자를 기록하고 있다. 위에서 서술했듯이 모바일에서는 Batches가 100이 상한선으로 잡는게 맞다. 내 휴대폰에서 렉이 걸리는것은 당연한 사실이었다. 

그래서 부랴부랴 mesh를 최적화하는법을 찾았다. 그러다가 알게 된것이 mesh bake이다.

Mesh Bake

  Mesh Baker를 사용하면 메쉬를 병합하여 배칭을 최적화 할 수 있다. 몇몇 유료 Mesh Baker도 있지만 나는 무료 Mesh Baker를 사용하였다. 

Simplest Mesh Baker | Utilities Tools | Unity Asset Store

 

Simplest Mesh Baker | 유틸리티 도구 | Unity Asset Store

Use the Simplest Mesh Baker from Kovnir on your next project. Find this utility tool & more on the Unity Asset Store.

assetstore.unity.com

무료이며 들어가면 사용법까지 친절하게 알려준다.

그냥 mesh들을 병합한다고 생각하면 편한거 같다. 나는 그래서 배경에 있는 나무들,바위들,꽃들 등등을 mesh baker를 이용해서 최적화했다. 

 

최적화 후 인게임

우측 상단의 batches가 보이는가?? 65까지 줄였다. 원래 목표였던 100이하로 줄였기에 매우매우 만족스러운 결과이다.

 

 

P.S  Mesh baker사용하다가 생긴 문제 2가지

 1. bake하다가 깨짐 현상도 발생했는데 나는 그냥 안깨진것들만 배경으로 사용했다.  내가 참고한 글을 보면 깨진것도 해결하는 법이 있다고 한다. 근데 똑같이 해봤는데 안되는거 같애서 그냥 깔끔하게 포기.

 2. 원래 사용하던 배경을 통째로 bake하니 막 뒤에것도 겹쳐서 보이고 배경이 어색해지고 불안정해졌다.

솔직히 어떻게 해결할지 감이 안잡혀서 비슷하게 생긴것들만 같이 bake해서 배경에 넣었다. 겹쳐서 보여도 어색하게 안 보이게

 

 

출처:

 

참된코딩 :: [Unity3D] 배칭 & 드로우콜 (tistory.com)

 

[Unity3D] 배칭 & 드로우콜

1. 드로우 콜(Draw Call) - CPU가 GPU에게 어떠한 물체를 그리라고 요청하는 것. - 드로우 콜의 개수가 적을수록 가벼운 게임이라 할 수 있다. 기기의 성능에 따라 특정 개수를 넘어가면 프레임 저하가

truecode.tistory.com

https://guks-blog.tistory.com/entry/Unity-Mesh-Combine%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%B4-DrawCall-%EC%A4%84%EC%9D%B4%EA%B8%B0

 

[Unity] Mesh Combine을 이용해 DrawCall 줄이기(최적화 끝판왕일듯)

뒤져도 잘 안나와서 직접 하나하나 시도해보다가 기록함 내가 못찾는건가 1. 스크립트 혹은 에셋스토어에서 mesh bake를 다운 받는다 https://assetstore.unity.com/packages/tools/utilities/simplest-mesh-baker..

guks-blog.tistory.com

 

반응형