모바일을 위해 유니티 빌드 용량 줄이기_POT,폰트
·
STUDY/유니티
최근 오랜만에 게시물을 올리긴 했지만 사실 빌드 용량 줄이기는 예전부터 계속 노력해오던 숙원과도 같은 일입니다.처음에는 위의 이미지처럼 용량이 200이 넘어갔는데,용량 200MB가 엄청나게 크다..!까진 아니지만 제 단순한 게임에 비해서 용량이 크다는 말이었습니다. 그 당시에는 용량에 크게 신경을 안써서 리소스 정리도 되지 않은 상황이었고그냥 PC게임도 아닌 모바일 게임의 경우에는 글로벌로 나갈경우, 용량이 적은 저가폰 유저들이 생각보다 상당히 많다고하여 처음으로 리소스 정리를 시작했었습니다.  1. 텍스처 압축(Texture Compression) 먼저 텍스처 압축을 얘기하며서 POT을 빼놓고 말할 순 없을거같습니다. POT(Power Of Two)이란 이미지의 크기가 2의 거듭제곱인 경우를 얘기하고,..
유니티 Hierarchy 최적화
·
PROJECT/유니티
유니티 3D 게임 프로젝트를 진행하게되면서 최적화의 중요성을 많이 알게되었습니다. 빌드자체에서 걸리는 시간이라던가 게임플레이 도중에 발생하는 지연이라던가 그런것들을 보며 구현도 중요하지만 구현한것을 원활하게 돌아갈 수 있도록 최적화하는것이 정말 중요하구나를 깨달으며 프로젝트에 적용한 최적화 방법을 소개할까 합니다. 부모-자식 간의 관계를 최소화로 하자 유니티에서 Hierarchy의 depth가 깊어지면 깊어질 수록 부모의 결과를 전파하기 위한 계산이 추가됩니다. 부모에 대한 position이나 rotation 등 정보가 변경되면 자식들에게도 메세지를 보내게 되므로 성능에는 악영향을 끼치게됩니다. 그래서 저는 프로젝트내에서 건설과 관련된 오브젝트를 맡았었는데.. 왼쪽이 이전에 있던 오브젝트 하나이고, 오른..
[텍스처 최적화]스프라이트 아틀라스 사용법
·
STUDY/유니티
- Texture 또는 Material이 다를 경우 별도의 Draw call이 된다. 유니티는 씬의 Texture 또는 Material에 대해 별도의 Draw call을 발행합니다. 참고로 Draw call은 실시간으로 카메라를 통해 한 프레임의 화면을 만들어 내는 동안에 CPU가 GPU에게 오브젝트를 그려라 라는 명령을 내리는 것입니다. 이 DrawCall이 늘어나게되면 자동으로 GPU가 할 일이 늘어나게되며 성능이 떨어지게됩니다. 이런 경우에는 스프라이트 아틀라스를 써서 줄이는 방법이 있습니다. (2D 프로젝트에만 적용가능) 스프라이트 아틀라스(Sprite Atlas) 는 여러 개의 텍스처를 단일 텍스처로 결합하는 에셋입니다. Unity는 여러 개의 드로우 콜을 발행하는 대신 이러한 단일 텍스처를 호..