이 페이지는 다음에 관한 정보를 제공합니다.
이 페이지에는 콘솔 플랫폼에 대한 정보는 포함되지 않습니다. 콘솔 플랫폼에 대한 정보는 플랫폼별 문서를 참조하십시오.
텍스처 압축 포맷에 관한 개요는 텍스처 압축 포맷을 참조하십시오. 텍스처 임포트 설정과 텍스처당 플랫폼 특정 오버라이드를 설정하는 방법에 관한 자세한 내용은 텍스처 임포트 설정을 참조하십시오. 일부 텍스처 임포트 설정은 대개 개발 동안 반복 시간을 단축하기 위해 빌드 설정에서도 전역으로 오버라이드할 수 있습니다.
이 페이지에서는 다음 용어를 사용합니다.
BC7 및 BC6H 포맷 지원이 보장되는 DirectX 11 이상 등급의 GPU가 탑재된 기기의 경우 권장되는 압축 포맷 선택은 다음과 같습니다. RGB 텍스처 - DXT1(4비트/픽셀). RGBA 텍스처 - BC7(품질이 높을수록 압축 속도가 느림) 또는 DXT5(압축 속도가 빠름), 둘 다(8비트/픽셀). HDR 텍스처 - BC6H(8비트/픽셀). PC에서 DirectX 10 등급의 GPU(2010년 이전의 NVIDIA GPU, 2009년 이전의 AMD, 2012년 이전의 Intel)를 지원해야 하는 경우 이러한 GPU는 BC7 또는 BC6H를 지원하지 않으므로 BC7 대신 DXT5가 선호됩니다.
지원되는 모든 포맷에 대한 세부 정보는 지원되는 텍스처 압축 포맷 레퍼런스 표를 참조하십시오.
ATSC는 A8 칩(2014) 이상을 사용하는 Apple 기기를 위해 RGB와 RGBA 텍스처에 권장되는 텍스처 압축 포맷입니다. 이 포맷으로 8비트/픽셀(4x4 블록 크기)부터 0.89 비트/픽셀(12x12 블록 크기)까지 세분화된 레벨 상의 텍스처 품질과 크기를 선택할 수 있습니다. 구형 기기에 대한 지원이 필요한 경우 또는 크런치 압축을 추가하고자 할 경우 Apple 기기는 A7 칩(2013)부터 ETC/ETC2 포맷을 지원합니다. 그 이전 기기는 PVRTC 압축 포맷을 사용합니다. iOS의 경우 플레이어 설정에서 기본 텍스처 압축 포맷을 설정할 수 있습니다. PVRTC는 가장 광범위한 호환성을 제공합니다. ASTC는 선호되는 포맷이지만 A7 기기(최초의 Metal 지원 기기)에서는 지원되지 않으며 런타임 시 언패킹해야 합니다.
지원되는 모든 포맷에 대한 세부 정보는 지원되는 텍스처 압축 포맷 레퍼런스 표를 참조하십시오.
Android 상의 텍스처 압축 지원은 복잡합니다. 다른 하위 타겟으로 몇 가지 애플리케이션 버전을 빌드해야할 수도 있습니다.
플레이어 설정에서 기본 압축 포맷을 선택할 수 있습니다. 옵션으로는 ASTC, ETC2, ETC (ETC1는 RGB용, ETC2는 RGBA용)가 있습니다. 텍스처 압축 설정에서 서로 다른 설정이 상호 작용하는 방법에 관한 자세한 내용을 참조할 수 있습니다.
LDR RGB와 RGBA 텍스처의 경우 OpenGL ES 3.1 또는 Vulkan을 지원하는 대부분의 현대 Android GPU는 ASTC 압축 포맷도 지원합니다. 예를 들면 Adreno 4xx / Snapdragon 415 (2015) 이후의 Qualcomm GPU, Mali T624 (2012) 이후의 ARM GPU, Tegra K1 (2014) 이후의 NVIDIA GPU, GX6250 (2014) 이후의 PowerVR GPU가 있습니다.
구형 기기에 대한 지원이 필요하거나 크런치 압축을 추가하려는 경우 Vulkan 또는 OpenGL ES 3.0을 운영하는 모든 GPU는 ETC2 포맷을 지원합니다. 결과 이미지 품질이 상당히 높고 1–4 컴포넌트 텍스처 데이터를 지원합니다. OpenGL ES 2 기기는 ETC2 포맷을 지원하지 않기 때문에 Unity는 런타임 시 ETC2 폴백 지정 포맷으로 텍스처를 압축 해제합니다. 그 이전의 기기에 대해서는 일반적으로 ETC 포맷만 사용 가능합니다. 단점은 직접적인 알파 채널 지원이 없다는 점입니다. 스프라이트의 경우 Unity에서 하나의 텍스처를 하나는 RGB용, 다른 하나는 알파용으로 이렇게 두 개의 ETC1 텍스처로 분할하여 ETC1 압축을 사용하는 옵션을 제공합니다. 이를 활성화하려면 스프라이트 아틀라스 임포트 시 텍스처에 Android 전용 알파 채널 분할 옵션을 활성화합니다. 스프라이트 셰이더는 두 텍스처를 샘플링하고 최종 결과로 결합합니다.
HDR 텍스처의 경우 ASTC HDR이 Android 기기에서 사용할 수 있는 유일한 압축된 포맷입니다. ASTC HDR에는 Vulkan 또는 GL_KHR_texture_compression_astc_hdr 지원이 필요합니다. ASTC는 가장 유연한 포맷입니다. 기기가 ASTC HDR을 지원하지 않으면 텍스처는 런타임 시 알파 채널 용도에 따라 RGB9e5 또는 RGBA Half로 압축 해제됩니다.
ASTC HDR을 지원하지 않는 기기의 경우 Vulkan, Metal 또는 OpenGL ES 3.0을 실행하는 모든 기기는 알파 채널이 없는 텍스처에 적합한 RGB9e5를 지원합니다. 알파 채널 또는 더 광범위한 지원이 필요한 경우 RGBA Half를 사용하십시오. 이 포맷은 RGB9e5보다 두 배 더 많은 메모리를 사용합니다.
모든 지원 포맷에 대한 자세한 내용은 지원 텍스처 압축 포맷 레퍼런스 표를 참조하십시오.
다음 표는 각 플랫폼에 사용된 디폴트 포맷을 보여줍니다.
플랫폼 | 컬러 모델 | 없음 | 보통 품질(기본값) | 높은 품질 | 낮은 품질(더 높은 성능) |
---|---|---|---|---|---|
Windows, Linux, macOS | RGB | RGB 24비트 | RGB Compressed DXT1 | RGB(A) Compressed BC7 | RGB Compressed DXT1 |
RGBA | RGBA 32비트 | RGBA Compressed DXT5 | RGB(A) Compressed BC7 | RGBA Compressed DXT5 | |
HDR | RGBA Half | RGB Compressed BC6H | RGB Compressed BC6H | RGB Compressed BC6H | |
WebGL | RGB | RGB 24비트 | RGB Compressed DXT1 | RGB Compressed DXT1 | RGB Compressed DXT1 |
RGBA | RGBA 32비트 | RGBA Compressed DXT5 | RGBA Compressed DXT5 | RGBA Compressed DXT5 | |
Android (설정 가능) | RGB | RGB 24비트 | RGBA Compressed ASTC 6x6 블록 RGB Compressed ETC2 RGB Compressed ETC |
RGBA Compressed ASTC 4x4 블록 RGB Compressed ETC2 RGB Compressed ETC |
RGBA Compressed ASTC 8x8 블록 RGB Compressed ETC2 RGB Compressed ETC |
RGBA | RGBA 32비트 | RGBA Compressed ASTC 6x6 블록 RGBA Compressed ETC2 |
RGBA Compressed ASTC 4x4 블록 RGBA Compressed ETC2 |
RGBA Compressed ASTC 8x8 블록 RGBA Compressed ETC2 |
|
iOS (설정 가능) | RGB | RGB 24비트 | RGBA Compressed ASTC 6x6 블록 RGB Compressed PVRTC 4비트 |
RGBA Compressed ASTC 4x4 블록 RGB Compressed PVRTC 4비트 |
RGBA Compressed ASTC 8x8 블록 RGB Compressed PVRTC 2비트 |
RGBA | RGBA 32비트 | RGBA Compressed ASTC 6x6 블록 RGBA Compressed PVRTC 4비트 |
RGBA Compressed ASTC 4x4 블록 RGBA Compressed PVRTC 4비트 |
RGBA Compressed ASTC 8x8 블록 RGBA Compressed PVRTC 2비트 |
|
tvOS | RGB | RGB 24비트 | RGBA Compressed ASTC 6x6 블록 | RGBA Compressed ASTC 4x4 블록 | RGBA Compressed ASTC 8x8 블록 |
RGBA | RGBA 32비트 | RGBA Compressed ASTC 6x6 블록 | RGBA Compressed ASTC 4x4 블록 | RGBA Compressed ASTC 8x8 블록 | |
Default | RGBA | RGBA 32비트 | RGBA 16비트 | RGBA 16비트 | RGBA 16비트 |
아래의 표는 Unity에서 사용 가능한 각 압축 포맷과 품질의 세부 사항을 표시합니다.
텍스처 압축 포맷 | 설명 | 채널 | Quality | 픽셀당 비트 | 1024x1024 텍스처 크기(MB) |
---|---|---|---|---|---|
RGB(A) Compressed BC7 | 압축된 RGB 또는 RGBA | RGB 또는 RGBA | 높음 | 8 | 1 |
RGBA Crunched DXT5 | 압축된 RGBA, 추가 디스크 크런치 압축 포함 | RGBA | 낮음-중간 | 가변 | 가변 |
RGBA 64비트 | 압축되지 않은 RGBA, 정밀도가 매우 높음 | RGBA | 매우 높음 | 64 | 8 |
RGBA 32비트 | 압축되지 않은 RGBA | RGBA | 높음 | 32 | 4 |
RGBA 16비트 | 양자화된 RGBA | RGBA | 중간 | 16 | 2 |
RGB Compressed DXT1 | 압축된 RGB(BC1이라고도 불림) | RGB | 중간 | 4 | 0.5 |
RGB Crunched DXT1 | 압축된 RGB, 추가 디스크 크런치 압축 포함 | RGB | 낮음-중간 | 가변 | 가변 |
RGB 48비트 | 압축되지 않은 RGB, 정밀도가 매우 높음. GPU용 RGBA 64비트로 변환됩니다. | RGB | 매우 높음 | 48 디스크, 64 GPU | 6 디스크, 8 GPU |
RGB 24비트 | 압축되지 않은 RGB. GPU용 RGBA 32비트로 변환됩니다. | RGB | 높음 | 24 디스크, 32 GPU | 3 디스크, 4 GPU |
RGB 16비트 | 양자화된 RGB | RGB | 중간 | 16 | 2 |
RG Compressed BC5 | 압축된 2채널(RG) | RG | 높음 | 8 | 1 |
RG 32비트 | 압축되지 않은 2채널(RG), 정밀도가 매우 높음 | RG | 매우 높음 | 32 | 4 |
R Compressed BC4 | 압축된 단일 채널(R) | R | 높음 | 4 | 0.5 |
R 8 | 압축되지 않은 단일 채널(R) | R | 높음 | 8 | 1 |
R 16비트 | 압축되지 않은 단일 채널(R), 정밀도가 매우 높음 | R | 매우 높음 | 16 | 2 |
알파8 | 압축되지 않은 단일 채널(A) | A | 높음 | 8 | 1 |
RGBA Half | HDR, half-precision (FP16) RGBA, –64k에서 +64k 범위 | RGBA | 높음 | 64 | 8 |
RGB Comressed BC6H | HDR, 압축된 RGB, 0 - +64k 범위 | RGB | 높음 | 8 | 1 |
RGB9e5 32비트 Shared Exponent Float | HDR, 양자화된 RGB, 0 - +64k 범위 | RGB | 중간 | 32 | 4 |
RGB(A) Compressed ASTC | 압축된 RGB 또는 RGBA, 블록 크기에 따라 크기와 품질이 달라짐 | RGB 또는 RGBA | 낮음-높음 | 12x12: 0.89, 10x10: 1.28, 8x8: 2, 6x6: 3.56, 5x5: 5.12, 4x4: 8 | 12x12: 0.11, 10x10: 0.16, 8x8: 0.25, 6x6: 0.45, 5x5: 0.64, 4x4: 1.0 |
RGBA Compressed ETC2 | 압축된 RGBA | RGBA | 중간 | 8 | 1 |
RGBA Crunched ETC2 | 압축된 RGBA, 추가 디스크 크런치 압축 포함 | RGBA | 낮음-중간 | 가변 | 가변 |
RGB + 1-비트 알파 Compressed ETC2 4비트 | 압축된 RGBA, 완전히 불투명하거나 완전히 투명한 알파 값 포함 | RGBA | 중간 | 4 | 0.5 |
RGBA Compressed PVRTC 4비트 | 압축된 RGBA, 텍스처가 사각형이어야 함 | RGBA | 중간 | 4 | 0.5 |
RGBA Compressed PVRTC 2비트 | 압축된 RGBA, 텍스처가 사각형이어야 함 | RGBA | 낮음 | 2 | 0.25 |
RGB Compressed ETC2 | 압축된 RGB | RGB | 중간 | 4 | 0.5 |
RGB Compressed ETC | 압축된 RGB | RGB | 낮음 | 4 | 0.5 |
RGB Crunched ETC | 압축된 RGB, 추가 디스크 크런치 압축 포함 | RGB | 낮음 | 가변 | 가변 |
RGB Compressed PVRTC 4비트 | 압축된 RGB, 텍스처가 사각형이어야 함 | RGB | 중간 | 4 | 0.5 |
RGB Compressed PVRTC 2비트 | 압축된 RGB, 텍스처가 사각형이어야 함 | RGB | 낮음 | 2 | 0.25 |
RG Compressed EAC 8비트 | 압축된 2채널(RG) | RG | 높음 | 8 | 1 |
R Compressed EAC 4비트 | 압축된 단일 채널(R) | R | 높음 | 4 | 0.5 |
RGB(A) Compressed ASTC HDR | HDR, 압축된 RGB 또는 RGBA, 블록 크기에 따라 크기와 품질이 달라짐 | RGB 또는 RGBA | 낮음-높음 | 12x12: 0.89, 10x10: 1.28, 8x8: 2, 6x6: 3.56, 5x5: 5.12, 4x4: 8 | 12x12: 0.11, 10x10: 0.16, 8x8: 0.25, 6x6: 0.45, 5x5: 0.64, 4x4: 1.0 |
아래의 표는 Unity에서 사용 가능한 각 압축 포맷과 지원되는 플랫폼을 표시합니다.
텍스처 압축 포맷 | Windows | macOS | Linux | Android | iOS & tvOS | WebGL (데스크톱용 브라우저) | WebGL (iOS 및 Android용 브라우저) |
---|---|---|---|---|---|---|---|
RGB(A) Compressed BC7 | 지원(1) | 지원(1) | 지원 | 지원 안 함 | 지원 안 함 | 지원(1) | 지원 안 함 |
RGBA Compressed DXT5 | 지원 | 지원 | 지원 | 지원 안 함(3) | 지원 안 함 | 부분적 지원(2) | 지원 안 함 |
RGBA Crunched DXT5 | 지원 | 지원 | 지원 | 지원 안 함(3) | 지원 안 함 | 부분적 지원(2) | 지원 안 함 |
RGBA 64비트 | 지원 | 지원 | 지원 | 부분적 지원(6) | 지원 | 지원 안 함 | 지원 안 함 |
RGBA 32비트 | 지원 | 지원 | 지원 | 지원 | 지원 | 지원 | 지원 |
RGBA 16비트 | 지원 | 지원 | 지원 | 지원 | 지원 | 지원 | 지원 |
RGB Compressed DXT1 | 지원 | 지원 | 지원 | 지원 안 함(3) | 지원 안 함 | 부분적 지원(2) | 지원 안 함 |
RGB Crunched DXT1 | 지원 | 지원 | 지원 | 지원 안 함(3) | 지원 안 함 | 부분적 지원(2) | 지원 안 함 |
RGB 48비트 | 지원 | 지원 | 지원 | 부분적 지원(6) | 지원 | 지원 안 함 | 지원 안 함 |
RGB 24비트 | 지원 | 지원 | 지원 | 지원 | 지원 | 지원 | 지원 |
RGB 16비트 | 지원 | 지원 | 지원 | 지원 | 지원 | 지원 | 지원 |
RG Compressed BC5 | 지원 | 지원 | 지원 | 지원 안 함 | 지원 안 함 | 지원 | 지원 안 함 |
RG 32비트 | 지원 | 지원 | 지원 | 부분적 지원(6) | 지원 | 지원 안 함 | 지원 안 함 |
R Compressed BC4 | 지원 | 지원 | 지원 | 지원 안 함 | 지원 안 함 | 지원 | 지원 안 함 |
R 8 | 지원 | 지원 | 지원 | 부분적 지원(5) | 지원 | 부분적 지원(5) | 부분적 지원(5) |
R 16비트 | 지원 | 지원 | 지원 | 부분적 지원(6) | 부분적 지원(6) | 지원(14) | 지원(14) |
알파8 | 지원 | 지원 | 지원 | 지원 | 지원 | 지원 | 지원 |
RGBA Half | 지원 | 지원 | 지원 | 부분적 지원(7) | 지원 | 부분적 지원(7) | 부분적 지원(7) |
RGB Comressed BC6H | 지원(1) | 지원(1) | 지원 | 지원 안 함 | 지원 안 함 | 지원(1) | 지원 안 함 |
RGB9e5 32비트 Shared Exponent Float | 지원 | 지원 | 지원 | 부분적 지원(4) | 지원 | 부분적 지원(4) | 부분적 지원(4) |
RGB(A) Compressed ASTC | 지원 안 함 | 지원 안 함 | 지원 안 함 | 부분적 지원(8) | 지원(10) | 지원 안 함 | 지원(13 & 10) |
RGBA Compressed ETC2 | 지원 안 함 | 지원 안 함 | 지원 안 함 | 부분적 지원(9) | 지원 | 지원 안 함 | 지원 |
RGBA Crunched ETC2 | 지원 안 함 | 지원 안 함 | 지원 안 함 | 부분적 지원(9) | 지원 | 지원 안 함 | 지원 |
RGB + 1-비트 알파 Compressed ETC2 4비트 | 지원 안 함 | 지원 안 함 | 지원 안 함 | 부분적 지원(9) | 지원 | 지원 안 함 | 지원 |
RGBA Compressed PVRTC 4비트 | 지원 안 함 | 지원 안 함 | 지원 안 함 | 지원 안 함(12) | 지원 | 지원 안 함 | 지원 안 함 |
RGBA Compressed PVRTC 2비트 | 지원 안 함 | 지원 안 함 | 지원 안 함 | 지원 안 함(12) | 지원 | 지원 안 함 | 지원 안 함 |
RGB Compressed ETC2 | 지원 안 함 | 지원 안 함 | 지원 안 함 | 부분적 지원(9) | 지원 | 지원 안 함 | 지원 |
RGB Compressed ETC | 지원 안 함 | 지원 안 함 | 지원 안 함 | 지원 | 지원 | 지원 안 함 | 지원 |
RGB Crunched ETC | 지원 안 함 | 지원 안 함 | 지원 안 함 | 지원 | 지원 | 지원 안 함 | 지원 |
RGB Compressed PVRTC 4비트 | 지원 안 함 | 지원 안 함 | 지원 안 함 | 지원 안 함(12) | 지원 | 지원 안 함 | 지원 안 함 |
RGB Compressed PVRTC 2비트 | 지원 안 함 | 지원 안 함 | 지원 안 함 | 지원 안 함(12) | 지원 | 지원 안 함 | 지원 안 함 |
RG Compressed EAC 8비트 | 지원 안 함 | 지원 안 함 | 지원 안 함 | 부분적 지원(9) | 지원 | 지원 안 함 | 지원 |
R Compressed EAC 4비트 | 지원 안 함 | 지원 안 함 | 지원 안 함 | 부분적 지원(9) | 지원 | 지원 안 함 | 지원 |
RGB(A) Compressed ASTC HDR | 지원 안 함 | 지원 안 함 | 지원 안 함 | 부분적 지원(11) | 부분적 지원(11) | 지원 안 함 | 부분적 지원(11) |
참고: