PVRTC : IOS에서 주로 사용됩니다.(PowerVR Texture Compression)

 

유니티에서 기본 압축 포멧으로 PVRTC1이 사용됩니다.

정밀도로 2pp(2비트) 와 4pp(4비트) 두개의 타입으로 존재합니다.

기본적으로 아무것도 안하면, 유니티에서는 RGB PVRTC 4 bits로 저장됩니다.

 

초기버전은 PVRTC1 와 최근(?) PVRTC2가 존재합니다.

PVRTC2가 더 업그레이드된 버전이겠지요?

하지만, 유니티는 PVRTC1만 지원합니다.

 

알파테스쳐가 있든 없든 압축이 됩니다.

텍스쳐를 변조처리할때 선형보간을 수행하여 픽셀 블럭화 현상이 완화되지만, 대신 번짐 현상이 발생하여

만화풍의 스프라이트나 아이콘은 번짐현상이 발생합니다.

이럴때는 해상도를 512에서 1024로 바꾼는 방법을 선택하는것이 현명할것입니다.

아니면 압축을 안하는 방법을 써야겠습니다.

 

 

ETC: 안드로이드에서 주로 사용됩니다.(Ericsson Texture Compression)

 

기본적으로 아무것도 안하면, 유니티에서는 RGB CompressedETC 4 bits로 저장됩니다.

 

ETC1 과 업그레이드 버전 ETC2가 존재합니다.

ETC2는 OpenGL ES 3.0이상에서만 지원됩니다.

갤럭시 S3이하는 OpenGL ES 2.0으로 구동됩니다.

하지만, 그렇다고 OpenGL ES 2.0에서 ETC2가 구동이 안되는것은 아니고, 메모리를 더 잡아먹고 느려질뿐입니다.

프로젝트에 따라 선택하는게 현명한 선택일겁니다.

아주아주아주아주 범용은 ETC1, 구형폰따위는 하면 ETC2로..

ETC1은 알파 채널을 지원하지 않습니다만, 4비트로 저장하면 지원됩니다.(뭔개소리인가 싶지만, 알아서 텍스쳐를 하나 더 생성한다고 생각하면 되고, 결국 메모리를 더 잡지만 안되는건 아님이라고 생각하면 될듯합니다?)

 

ASTC: (Adaptive Scalabe Texture Compression)

 

ETC아 PVRTC와 다르게 더 많은 블록 크기를 사용합니다.

(12x12 block까지 사용되고, ETC와 PVRTC 4x4 block까지)

 

OpenGL ES 3.2이상이거나 OpenGL ES 3.1+AEP(Android Extesion Pack)에서만 지원됩니다.

그래서 고사양? 폰에서 추천한다고 합니다.

 

 

개인적으로는 가장 좋은 방법은 빌드할때 가장 높은것을 선택해보고, 최저사양으로 테스트하면서, 점차 낮춰가는게 좋은 방법이 아닐까 싶습니다.

잘모르겠으면...기본으로 합시다.^^;

 

 

출처: 유니티 그래픽스 최적화 스타트업

 

 

 

 

 

 

 

 

'Unity > ETC' 카테고리의 다른 글

Terrain Bake시 주의할점  (0) 2020.12.16
Reflection Probe의 반사..  (0) 2020.12.14
Unity Mask  (0) 2020.12.11
볼때마다 잊어버리는 조명설정..  (0) 2020.11.18
유니티 빌드옵션 Compression Method  (0) 2020.11.11