Unity/최적화

[Unity/최적화] Unity Korea Youtube - 효율적인 텍스처 압축 이해하기& 꿀팁

sorry0101 2023. 4. 4. 12:27

텍스쳐 압축
DXT, ETC, PVRTC, ASTC

- PNG, JPG : 비손실압축과 손실압축의 차이
> PNG, JPG 상관없음 어짜피 유니티에서 바꿔서 사용함
> 텍스쳐는 쉐이더에서 사용함

- 텍스쳐 압축(Texture compression)
> 랜덤 액세스: 특정 지점에 바로 접근해서 빠르게 가져와야함

- png, jpg : 가변 비율 압축

PVRTC : POWER VR Texture compression - apple에서 주로 사용함
> 요즘은 ASTC로 쓰임
> 정사각형만 지원함, 블럭기반이므로 강제가 됨
> S3TC(블러기반) 와 차이는 블러 처리가 됨

ETC : 색상 저해상도로 저장, 밝기만 고해상도로 저장 - aos에서 주로 사용함
> 사람은 채도 변화에 둔감, 밝기 변화에 민감
> (4bpp < 8bpp) => 더 많은 비트를 할당하니까 퀄이 더 좋음

ASTC - 모든 곳에서 사용 중
> 유연하고 좋은 텍스쳐 사이즈
> 128bit 기준
> 알베도나 모델리에 쓰이는 텍스쳐 -> 프리퀀시가 높기 때문에 rgba x4로 쓰임 
> 파티클 이펙트 -> 프리퀀시가 높지 않기 때문에 rgb 12x12
> ASTC 4x4 와 ASTC 12x12는 차이가 남

- 노말맵 같은 경우 이미지를 줄이고 block compression을 높이면 용량을 아낄 수 있으니 참고

- BC7 : DirectX, Pc, 콘솔에서 주로 사용함, ASTC와 비슷(ASTC는 모바일에서 주로 사용)

 - 원본과 상관없이 유니티가 쓰는 것으로 변환됨
 - Compressed DXT와 Crunched DXT압축의 차이 : 저장 용량은 차이가 나지만 메모리상의 차이는 없음

 

https://www.youtube.com/watch?v=BeEjoTa9sSo