このページには以下の情報が含まれています。
このページには、コンソールプラットフォームに関する情報は含まれていません。コンソールプラットフォームに関する情報は、プラットフォーム別のドキュメントを参照してください。
テクスチャ圧縮形式の概要については、テクスチャ圧縮形式 を参照してください。テクスチャのインポート設定と、プラットフォーム固有のオーバーライドの設定方法については、テクスチャインポート設定 を参照してください。
このページでは、以下の用語を使用しています。
DirectX 11 以上のクラスの GPU を搭載し、BC7 および BC6H 形式のサポートが確実に利用できるデバイスの場合、推奨される圧縮形式の選択は以下のとおりです。 RGB テクスチャ - 4 ビット/ピクセルの DXT1。RGBAテクスチャ - BC7 (高品質、圧縮が遅い) または DXT5 (圧縮が速い)、両方とも 8 ビット/ピクセル。 HDR テクスチャ - 8 ビット/ピクセルの BC6H。 PC で DirectX 10 クラス GPU (2010 より前の NVIDIA GPU、2009 より前の AMD、2012 より前の Intel) をサポートする必要がある場合、これらの GPU は BC7 も BC6H もサポートしないため、BC7 ではなく DXT5 が推奨されます。
サポートされているすべての形式の詳細については、サポートされるテクスチャ圧縮形式リファレンス表 を参照してください。
A8 チップ (2014) 以降を使用する Apple デバイスの場合、ATSC は RGB および RGBA テクスチャに推奨されるテクスチャ圧縮形式です。この形式を使うと、8 ビット/ピクセル (4x4 ブロックサイズ) から 0.89 ビット/ピクセル (12x12 ブロックサイズ) まで、きめ細かいレベルでテクスチャの品質とサイズを選択できます。 古いデバイスのサポートが必要な場合、または追加の Crunch 圧縮が必要な場合、Apple デバイスは A7 チップ (2013) 以降の ETC/ETC2 形式をサポートします。 さらに古いデバイスの場合、PVRTC を使用できます。 iOS では、できる限り幅広い互換性を得るために Unity のデフォルトのテクスチャ圧縮形式は PVRTC です。ASTC が推奨されますが、A7 デバイス (初期の Metal 対応デバイス) ではサポートされておらず、ランタイムに解凍されます。
サポートされているすべての形式の詳細については、サポートされるテクスチャ圧縮形式リファレンス表 を参照してください。
Android のテクスチャ圧縮サポートは複雑で、異なる サブターゲット で複数のアプリケーションバージョンを構築する必要があるかもしれません。
アプリケーションが特定のハードウェアをターゲットにしていて、限られた範囲のテクスチャ圧縮形式しかサポートしていない場合を除き、いくつかの圧縮形式と非圧縮形式を選択することができ、それぞれ長所と短所が異なります。
LDR、RGB、RGBA テクスチャの場合、最新の Android GPU のほとんどは以下の ASTC 圧縮形式をサポートしています。 Qualcomm GPUs - Adreno 4xx/Snapdragon 415 (2015) 以降 ARM GPU - Mali T624 (2012) 以降 NVIDIA GPU - Tegra K1 (2014) 以降 PowerVR GPUs - GX6250 (2014) 以降 古いデバイスのサポートが必要な場合、または追加の Crunch 圧縮が必要な場合は、Vulkan、Metal、または OpenGL ES 3.0 を実行するすべての GPU は ETC2 形式をサポートします。結果として得られる画質は非常に高く、1 - 4 コンポーネントのテクスチャデータをサポートします。OpenGL ES 2 デバイスは ETC2 形式をサポートしないため、Unity はランタイムにテクスチャ [ETC2 フォールバック(class-TextureImporter#fallback) が指定する形式に解凍します。 さらに古いデバイスの場合、通常は ETC 形式のみが使用可能です。欠点は、直接アルファチャネルがサポートされていないことです。スプライトの場合、Unity は、テクスチャを 2 つの ETC1 テクスチャに分割することで ETC1 圧縮を使用するオプションを提供します。1 つは RGB 用、もう 1 つはアルファ用です。これを有効にするには、スプライトアトラス をインポートするときに、テクスチャに対して Android 特有の スプリットアルファチャネル オプションを有効にします。スプライトシェーダーは両方のテクスチャをサンプリングし、それらを組み合わせて最終結果を作成します。 HDR テクスチャの場合、ASTC HDR は Android デバイスで使用できる唯一の圧縮形式です。ASTC HDR には、Vulkan または GL_KHR_texture_compression_astc_hdr のサポートが必要です。ASTC は最も柔軟性のあるフォーマットです。
ASTC HDR に対応していないデバイスでは、Vulkan、Metal、OpenGL ES 3.0 を搭載したすべてのデバイスが RGB9e5 に対応しており、アルファチャンネルのないテクスチャに適しています。アルファチャンネルやさらに広い範囲のサポートが必要な場合は、RGBA Half を使用します。これは、RGB9e5 の 2 倍のメモリを必要とします。
サポートされているすべての形式の詳細については、サポートされるテクスチャ圧縮形式リファレンス表 を参照してください。
以下は各プラットフォームで使用されるデフォルト形式を表しています。
プラットフォーム | カラーモデル | 圧縮なし | 標準品質 (デフォルト) | 高品質 | 低品質 (高パフォーマンス) |
---|---|---|---|---|---|
Windows、Linux、macOS | RGB | RGB 24 bit | RGB Compressed DXT1 | RGB(A) Compressed BC7 | RGB Compressed DXT1 |
RGBA | RGBA 32 bit | 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 bit | RGB Compressed DXT1 | RGB Compressed DXT1 | RGB Compressed DXT1 |
RGBA | RGBA 32 bit | RGBA Compressed DXT5 | RGBA Compressed DXT5 | RGBA Compressed DXT5 | |
Android (ビルド設定で Don’t override (オーバーライドしない) が有効になっている場合のみ) | RGB | RGB 24 bit | RGB Compressed ETC | RGB Compressed ETC | RGB Compressed ETC |
RGBA | RGBA 32 bit | RGBA Compressed ETC2 | RGBA Compressed ETC2 | RGBA Compressed ETC2 | |
iOS | RGB | RGB 24 bit | RGB Compressed PVRTC 4 bits | RGB Compressed PVRTC 4 bits | RGB Compressed PVRTC 2 bits |
RGBA | RGBA 32 bit | RGBA Compressed PVRTC 4 bits | RGBA Compressed PVRTC 4 bits | RGBA Compressed PVRTC 2 bits | |
tvOS | RGB | RGB 24 bit | RGB Compressed ASTC 6x6 block | RGB Compressed ASTC 4x4 block | RGB Compressed ASTC 8x8 block |
RGBA | RGBA 32 bit | RGBA Compressed ASTC 6x6 block | RGBA Compressed ASTC 4x4 block | RGBA Compressed ASTC 8x8 block | |
デフォルト | RGBA | RGBA 32 bit | RGBA 16 bit | RGBA 16 bit | RGBA 16 bit |
下の表は、Unity で利用可能な各圧縮形式と、それをサポートするプラットフォームを示しています。
テクスチャ圧縮形式 | 説明 | チャンネル | 品質 | ビット/ピクセル | 1024x1024 テクスチャのサイズ (単位:MB) | Windows | Mac | Linux | Android | iOS & tvOS | WebGL |
---|---|---|---|---|---|---|---|---|---|---|---|
RGB(A) Compressed BC7 | 圧縮された RGB か RGBA | RGB か RGBA | 高 | 8 | 1 | 可 (1) | 可 (1) | 可 | 不可 | 不可 | 不可 |
RGBA Compressed DXT5 | 圧縮された RGBA (BC3 とも呼ばれる) | RGBA | 中 | 8 | 1 | 可 | 可 | 可 | 不可 (3) | 不可 | 一部可 (2) |
RGBA Crunched DXT5 | 圧縮された RGBA、追加のディスク上 Crunch 圧縮あり | RGBA | 低 - 中 | 可変 | 可変 | 可 | 可 | 可 | 不可 (3) | 不可 | 一部可 (2) |
RGBA 16 bit | 非圧縮の RGBA、非常に高い精度 | RGBA | 非常に高い | 64 | 8 | 可 | 可 | 可 | 一部可 (6) | 可 | 不可 |
RGBA 32 bit | 非圧縮の RGBA | RGBA | 高 | 32 | 4 | 可 | 可 | 可 | 可 | 可 | 可 |
RGBA 16 bit | 量子化された RGBA | RGBA | 中 | 16 | 2 | 可 | 可 | 可 | 可 | 可 | 可 |
RGB Compressed DXT1 | 圧縮された RGB (BC1 とも呼ばれる) | RGB | 中 | 4 | 0.5 | 可 | 可 | 可 | 不可 (3) | 不可 | 一部可 (2) |
RGB Crunched DXT1 | 圧縮された RGB、追加のディスク上 Crunch 圧縮あり | RGB | 低 - 中 | 可変 | 可変 | 可 | 可 | 可 | 不可 (3) | 不可 | 一部可 (2) |
RGB 48 bit | 非圧縮の RGB、非常に高い精度。GPU 用に RGBA 64 bit に変換されています。 | RGB | 非常に高い | 48 ディスク、64 GPU | 6 ディスク、8 GPU | 可 | 可 | 可 | 一部可 (6) | 可 | 不可 |
RGB 24 bit | 非圧縮の RGB。GPU 用に RGBA 32 bit に変換されています。 | RGB | 高 | 24 ディスク、32 GPU | 3 ディスク、4 GPU | 可 | 可 | 可 | 可 | 可 | 可 |
RGB 16 bit | 量子化された RGB | RGB | 中 | 16 | 2 | 可 | 可 | 可 | 可 | 可 | 可 |
RG Compressed BC5 | 圧縮 2 チャンネル (RG) | RG | 高 | 8 | 1 | 可 | 可 | 可 | 不可 | 不可 | 不可 |
RG 32 bit | 非圧縮 2 チャンネル (RG)、非常に高い精度 | RG | 非常に高い | 32 | 4 | 可 | 可 | 可 | 一部可 (6) | 可 | 不可 |
R Compressed BC4 | 圧縮されたシングルチャンネル (R) | R | 高 | 4 | 0.5 | 可 | 可 | 可 | 不可 | 不可 | 不可 |
R 8 | 非圧縮シングルチャンネル (R) | R | 高 | 8 | 1 | 可 | 可 | 可 | 一部可 (5) | 可 | 一部可 (5) |
R 16 bit | 非圧縮シングルチャンネル (R)、非常に高い精度 | R | 非常に高い | 16 | 2 | 可 | 可 | 可 | 一部可 (6) | 一部可 (6) | 不可 |
Alpha 8 | 非圧縮シングルチャンネル (A) | A | 高 | 8 | 1 | 可 | 可 | 可 | 可 | 可 | 可 |
RGBA Half | HDR、半精度 (FP16) RGBA、–64k から +64k の範囲 | RGBA | 高 | 64 | 8 | 可 | 可 | 可 | 一部可 (7) | 可 | 一部可 (7) |
RGB Compressed BC6H | HDR、圧縮 RGB、0 から +64k の範囲 | RGB | 高 | 8 | 1 | 可 (1) | 可 (1) | 可 | 不可 | 不可 | 不可 |
RGB9e5 32 Bit Shared Exponent Float | HDR、量子化された RGB、0 から +64k の範囲 | RGB | 中 | 32 | 4 | 可 | 可 | 可 | 一部可 (4) | 可 | 一部可 (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 | 不可 | 不可 | 不可 | 一部可 (9) | 可 (10) | 不可 |
RGBA Compressed ETC2 | 圧縮された RGBA | RGBA | 中 | 8 | 1 | 不可 | 不可 | 不可 | 一部可 (9) | 可 | 不可 |
RGBA Crunched ETC2 | 圧縮された RGBA、追加のディスク上 Crunch 圧縮あり | RGBA | 低 - 中 | 可変 | 可変 | 不可 | 不可 | 不可 | 一部可 (9) | 可 | 不可 |
RGB + 1-bit Alpha Compressed ETC2 4 bits | 圧縮された RGBA。アルファ値が完全に不透明または完全に透明。 | RGBA | 中 | 4 | 0.5 | 不可 | 不可 | 不可 | 一部可 (9) | 可 | 不可 |
RGBA Compressed PVRTC 4 bits | 圧縮されたRGBA。テクスチャは正方形であることが必要。 | RGBA | 中 | 4 | 0.5 | 不可 | 不可 | 不可 | 不可 (12) | 可 | 不可 |
RGBA Compressed PVRTC 2 bits | 圧縮されたRGBA。テクスチャは正方形であることが必要。 | RGBA | 低 | 2 | 0.25 | 不可 | 不可 | 不可 | 不可 (12) | 可 | 不可 |
RGB Compressed ETC2 | 圧縮された RGB | RGB | 中 | 4 | 0.5 | 不可 | 不可 | 不可 | 一部可 (9) | 可 | 不可 |
RGB Compressed ETC | 圧縮された RGB | RGB | 低 | 4 | 0.5 | 不可 | 不可 | 不可 | 可 | 可 | 不可 |
RGB Crunched ETC | 圧縮された RGB、追加のディスク上 Crunch 圧縮あり | RGB | 低 | 可変 | 可変 | 不可 | 不可 | 不可 | 可 | 可 | 不可 |
RGB Compressed PVRTC 4 bits | 圧縮された RGB、テクスチャは正方形であることが必要。 | RGB | 中 | 4 | 0.5 | 不可 | 不可 | 不可 | 不可 (12) | 可 | 不可 |
RGB Compressed PVRTC 2 bits | 圧縮された RGB、テクスチャは正方形であることが必要。 | RGB | 低 | 2 | 0.25 | 不可 | 不可 | 不可 | 不可 (12) | 可 | 不可 |
RG Compressed EAC 8 bit | 圧縮 2 チャンネル (RG) | RG | 高 | 8 | 1 | 不可 | 不可 | 不可 | 一部可 (9) | 可 | 不可 |
R Compressed EAC 4 bit | 圧縮されたシングルチャンネル (R) | R | 高 | 4 | 0.5 | 不可 | 不可 | 不可 | 一部可 (9) | 可 | 不可 |
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 | 不可 | 不可 | 不可 | 一部可 (11) | 一部可 (11) | 不可 |
ノート: