유니티/최적화

[유니티 최적화] 스프라이트 아틀라스 사용 및 크기를 최적화하여 성능을 개선하는 방법

코더 제로 2021. 2. 5. 01:17
728x90
반응형

스프라이트가 씬에서 활성화되면 Unity는 해당 스프라이트가 속한 스프라이트 아틀라스와 거기에 포함된 모든 텍스처를 로드합니다. 

이는 Unity가 매우 큰 텍스처가 포함된 스프라이트 아틀라스를 로드하지만 씬 내에서 해당 텍스처를 사용하는 요소가 없을 경우 과도한 성능 오버헤드가 발생합니다.

스프라이트 아틀라스 사용을 최적화하려면 씬에서 활성화된 모든 또는 대부분의 스프라이트가 동일한 아틀라스에 속해 있어야 합니다. 

일반적인 용도에 따라 스프라이트 텍스처를 여러 개의 작은 아틀라스로 분할하는 것이 좋습니다.

성능 오버헤드를 줄이는 또 다른 방법은 스프라이트 아틀라스의 패킹된 텍스처 간에 빈 공간을 줄이는 것입니다. 

이렇게 하면 스프라이트 아틀라스의 크기가 감소합니다. 

이렇게 하려면 스프라이트 아틀라스를 선택하고 인스펙터 설정의 하단에 있는 팩 미리보기 창에서 패킹된 아틀라스 텍스처를 검사하십시오. 

이용 가능한 미리보기가 없으면 Objects for Packing 리스트 아래의 Pack Preview 버튼을 선택하여 패킹된 텍스처를 생성해야 합니다.

 

그림. 과도한 빈 공간이 있는 스프라이트 아틀라스 


과도한 빈 공간이 눈에 띄면 패킹된 텍스처의 크기를 수동으로 줄여서 빈 공간을 작게 만들고 아틀라스의 크기를 최적화할 수 있습니다.

이렇게 하려면 인스펙터 창 하단의 Platform-specific overrides 패널로 이동하십시오.

그런 다음 Max Texture Size 설정의 드롭다운 메뉴에서 낮은 값을 선택하고, Pack Preview를 선택하여 패킹된 텍스처를 다시 생성해야 합니다.

 

그림. Max Texture Size 설정 


Max Texture Size 값이 스프라이트 아틀라스 텍스처의 현재 크기보다 작으면 Unity는 패킹된 텍스처 크기를 줄여서 설정된 Max Texture Size 값에 최대한 맞추고 불필요한 빈 공간을 자동으로 잘라냅니다.

선택한 스프라이트 텍스처가 스프라이트 아틀라스의 Max Texture Size 설정을 초과하는 경우 스프라이트 아틀라스는 Max Texture Size 설정을 무시하고 스프라이트 텍스처를 원래 크기로 포함하는 데 필요한 최소 크기를 유지합니다.

 


스프라이트 아틀라스의 텍스처가 원래 크기로 유지됩니다.

728x90
반응형