このページには以下の情報が含まれています。
このページには、コンソールプラットフォームに関する情報は含まれていません。コンソールプラットフォームに関する情報は、プラットフォーム別のドキュメントを参照してください。
テクスチャ圧縮形式の概要については、テクスチャ圧縮形式 を参照してください。テクスチャのインポート設定と、プラットフォーム固有のオーバーライドの設定方法については、テクスチャインポート設定 を参照してください。
このページでは、以下の用語を使用しています。
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) | 不可 |
ノート:
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.