Crunch Texture Compress

크런치 텍스쳐는 이미 압축된 DDS, ETC등의 텍스처를 용량 감소를 위해 한번 더 손실 압축하는 것입니다.

따라서 메모리를 올리는 시점에서 압축이 풀어지므로 시스템 또는 비디오 메모리 감소 효과는 없습니다. 하지만 디스크 차지 용량은 드라마틱하게 감소되는데 적게는 20~30%에서 많게는 10%이하로 감소시킬 수 있습니다. 이로서 게임의 용량 감소 및 로딩 속도 증가등의 효과를 가져갈 수 있습니다.

오픈 소스이며 라이센스도 Public Domain으로 사용에 전혀 제한이 없어 많은 엔진에서 사용하고 있습니다.

Crunch Texture Compress

추가1. 최근 크런치 텍스처를 이용한 스프라이트 시트 애니메이션 하면서 알게 된 사항 몇 개를 적어봅니다. 커스텀 크런치 텍스처 포맷을 쓰신다면 참고하시면 됩니다.

  1. 깃허브에서 위 크런치 텍스처 압축 저장소로 가면 바이너리 파일이 있는 데 그걸 통해 간단히 PNG등의 파일을 CRN(자체 크런치 파일 포맷) 으로 변경할 수 있다.
  2. CRN 파일은 내용 그대로 읽어서 유니티의 Texture.LoadRawTextureData 함수를 통해 바로 적용할 수 있다.
  3. 단, 위의 저장소에서 받은 바이너리 파일은 유니티에서 바로 적용할 수 없으며 CRN 내부의 m_userdata0 의 값을 1로 줘야 한다. 따라서 코드 수정이 필요한데, 역시 이 작업을 한 미리 한 사람이 있다.
    1. 수정된 Crunch Texture Compress
    2. 관련 히스토리 Unit Forum

추가2. DXT, 크런치 텍스처 압축 방법 Crunch compression of ETC textures