[Unity] 모바일 기기를 위한 이미지 포맷
[출처]
https://youtu.be/BeEjoTa9sSo?si=jght3spH8ryvUxUr
https://youtu.be/3_pASBWPovc?si=guyVjtFXfqmijkK3
PVRTC[POWERVR TEXTURE COMPRESSED][IOS]
4X4 블럭기반
DXT에 더해 이미지를 블러링하여 블럭 경계를 페더링처리한다.
원래의 이미지의 대표 색상을 분리하고 하드웨어에서 결합하는 과정을 거침
블러링 현상이 발생함., 픽셀이 중요한 그래픽에 적합하지 않음.
키 컬러를 최대 4개까지 추출이 가능하며,
복잡한 색에 대해서 그라데이션 값을 지정
여러 패턴을 가지고 압축에 사용하기 때문에 생각하는 것보다 용량이 크기 않다.
ETC[ELECSON]
블럭기반 색상과 밝기로 분류하여 마지막에 합성함
블러킹현상이 발생함.
CRUNCHED는 디스크 용량만을 줄이는 기법
메모리 용량에는 변화가 없다.
ETC2가 ETC1 보다 성능이 좋다.
ASTC[ADAPTIVE SCALERERBLE][가장 좋은 방식]
블럭의 크기를 가변적으로 적용이 가능하여 텍스쳐 퀄리티를 지정할 수 있다.
4X4는 이미지를 좁은 면적으로 블럭처리를 하기에, 퀄리티가 높고,
12X12는 큰 면적으로 블럭처리를 하기에 퀄리티가 낮아지지만, 압축량이 높아진다.
메모리를 굉장히 아낄 수 있다.
DXT
4X4 블럭단위로 픽셀을 압축한다.
키 컬러를 2개를 뽑아서 뽑은 컬러들을 4X4 블럭에 값을 지정한다.
64/4X4 = 4BPP[픽셀 당 비트 수가 4개]만 사용하기에 많은 압축이 된다.
ASTC가 모바일에서 사용한다면 BC7은 DXT에서 사용하는 패턴화된 압축 포맷이다.
이러한 방식을 통해 여러 컬러를 지정할 수 있기 때문에, 원본과 비슷한 퀄리티를 사용할 수 있다
퀄리티 비교표
노말맵 압축 예시
노말 맵에서의 압축 포맷'
지원 포맷 2020
최신 개발하는 게임의 경우 ASTC를 사용해도 무방