Version: 2019.3
App patching for fast development iteration
Android 向けシングルパスステレオレンダリング機能

Android 2D Texture Overrides

このページでは、特に Android に関して、テクスチャ オーバライド の詳細を説明しています。テクスチャオーバーライドの一般的な説明は、こちらを参照してください。

The information contained on this page assumes the reader has working knowledge of DXT and ETC Texture compression, OpenGL ES, and Android development.

テクスチャ圧縮と OpenGL ES に関する詳細な情報は以下のページを参照してください。

Android 2D Texture Override settings in the Textures Inspector window. Click the Android logo to access Android-specific overrides.
Android 2D Texture Override settings in the Texture’s Inspector window. Click the Android logo to access Android-specific overrides.
Texture format Internal representation
RGB Compressed DXT1 圧縮 RGB テクスチャ。 Nvidia Tegra が対応。4 ビット/ピクセル (256x256 のテクスチャで 32 KB)。
RGB Crunched DXT1 圧縮 RGB テクスチャー。Nvidia Tegra が対応。Crunch 圧縮は、DXT テクスチャ圧縮上で使用できる損失のある圧縮形式です。テクスチャは CPU で DXT1 に解凍され、ランタイムに GPU に読み込まれます。Crunch 圧縮は、通常の DXT1 圧縮よりもより小さくテクスチャを圧縮できます。Crunch テクスチャは、圧縮するのにかなり時間がかかりますが、ランタイムでの解凍は高速です。4 ビット/ピクセル (出力サイズはテクスチャによって異なります。256x256 のテクスチャで 1 KB から)。
RGBA Compressed DXT5 圧縮 RGBA テクスチャ。 Nvidia Tegra が対応。8 ビット/ピクセル (256x256 のテクスチャで 62 KB)。
RGBA Crunched DXT5 圧縮 RGBA テクスチャ。Nvidia Tegra が対応。Crunch 圧縮は、DXT テクスチャ圧縮上で使用できる損失のある圧縮形式です。テクスチャは CPU で DXT5 に解凍され、ランタイムに GPU に読み込まれます。Crunch 圧縮は、通常の DXT5 圧縮よりも著しく小さい、ただし、低品質のテクスチャを作成します。Crunch テクスチャは、圧縮するのにかなり時間がかかりますが、ランタイムでの解凍は高速です。8 ビット/ピクセル (出力サイズはテクスチャによって異なります。256x256 のテクスチャで 1 KB から。
RGB Compressed ETC 4 bits 圧縮 RGB テクスチャ。Unity の Android 用プロジェクトのデフォルトのテクスチャ形式。 ETC_RGB4 は OpenGL ES 2.0 の一部であり、全ての OpenGL ES 2.0 GPU が対応しています。アルファには非対応です。4 ビット/ピクセル (256x256 のテクスチャで 32 KB)。
RGB Crunched ETC 圧縮 RGBA テクスチャ。Nvidia Tegra が対応。Crunch 圧縮は、DXT テクスチャ圧縮上で使用できる損失のある圧縮形式です。テクスチャは CPU で DXT5 に解凍され、ランタイムに GPU に読み込まれます。Crunch 圧縮は、通常の DXT5 圧縮よりも著しく小さい、ただし、低品質のテクスチャを作成します。Crunch テクスチャは、圧縮するのにかなり時間がかかりますが、ランタイムでの解凍は高速です。8 ビット/ピクセル (出力サイズはテクスチャによって異なります。256x256 のテクスチャで 1 KB から)。
RGB Compressed ETC2 4 bits 圧縮 RGB テクスチャ。ETC2 は OpenGL ES 3.0 の一部であり、全ての OpenGL ES 3.0 GPU が対応。4 ビット/ピクセル (256x256 のテクスチャで 32 KB)。
RGB + 1-bit Alpha Compressed ETC2 4 bits 1 ビットパンチスルーアルファを持つ圧縮 RGB テクスチャ。ETC2 は OpenGL ES 3.0 の一部であり、全ての OpenGL ES 3.0 GPU が対応。4 ビット/ピクセル (256x256 のテクスチャで 32 KB)。
RGBA Compressed ETC2 8 bits 圧縮 RGBA テクスチャ。 全ての OpenGL ES 3.0 GPU が対応。8 ビット/ピクセル (256x256 のテクスチャーで 62 KB)。
RGBA Crunched ETC2 圧縮 RGBA テクスチャ。Crunch 圧縮は、ETC テクスチャ圧縮上で使用できる損失のある圧縮形式です。テクスチャは CPU で ETC2_RGBA8 に解凍され、ランタイムに GPU に読み込まれます。Crunch 圧縮は、通常の ETC2_RGBA8 圧縮よりも著しく小さい、ただし、低品質のテクスチャを作成します。Crunch テクスチャは、圧縮するのにかなり時間がかかりますが、ランタイムでの解凍は高速です。全ての OpenGL ES 3.0 GPU が対応。8 ビット/ピクセル (出力サイズはテクスチャによって異なります。256x256 のテクスチャで 1 KB から)。
RGB Compressed PVRTC 2 bits 圧縮 RGB テクスチャ。 Imagination PowerVR GPU が対応。2 ビット/ピクセル (256x256 のテクスチャで 16 KB)。
RGBA Compressed PVRTC 2 bits 圧縮 RGBA テクスチャ。Imagination PowerVR GPU が対応。2 ビット/ピクセル (256x256 のテクスチャで 16 KB)。
RGB Compressed PVRTC 4 bits 圧縮 RGB テクスチャ。 Imagination PowerVR GPU が対応。4 ビット/ピクセル (256x256 のテクスチャで 32 KB)。
RGBA Compressed PVRTC 4 bits 圧縮 RGBA テクスチャ。Imagination PowerVR GPU が対応。4 ビット/ピクセル (256x256 のテクスチャで 32 KB)。
RGB Compressed ATC 4 bits 圧縮 RGB テクスチャ。Qualcomm Snapdragon が対応。4 ビット/ピクセル (256x256 のテクスチャで 32 KB)。
RGBA Compressed ATC 8 bits 圧縮 RGBA テクスチャ。Qualcomm Snapdragon が対応。8 ビット/ピクセル (256x256 のテクスチャで 64 KB)。
RGB Compressed ASTC 4x4 block

RGB Compressed ASTC 5x5 block

RGB Compressed ASTC 6x6 block

RGB Compressed ASTC 8x8 block

RGB Compressed ASTC 10x10 block

RGB Compressed ASTC 12x12 block
圧縮 RGB テクスチャ。OpenGL ES 3.2、OpenGL ES 3.1+AEP GPU のすべてと、OpenGL ES 3.0 GPU の一部が対応。この圧縮形式は固定の 128 ビットブロックサイズを使用します。ピクセルブロックサイズ (4x4 から 12x12) によって、各ピクセルに 8 から 0.89 ビットを利用します。圧縮テクスチャのサイズは256x256 のテクスチャで 64KB (4x4 ブロック、最高品質) から、256x256 のテクスチャで 7.6KB (12x12 ブロック、最高圧縮率) 。
RGBA Compressed ASTC 4x4 block

RGBA Compressed ASTC 5x5 block

RGBA Compressed ASTC 6x6 block

RGBA Compressed ASTC 8x8 block

RGBA Compressed ASTC 10x10 block

RGBA Compressed ASTC 12x12 block
圧縮 RGBA テクスチャ。OpenGL ES 3.2、OpenGL ES 3.1+AEP GPU のすべてと、OpenGL ES 3.0 GPU の一部が対応。この圧縮形式は固定の 128 ビットブロックサイズを使用します。ピクセルブロックサイズ (4x4 から 12x12) によって、各ピクセルに 8 から 0.89 ビットを利用します。圧縮テクスチャのサイズは256x256 のテクスチャで 64 KB (4x4 ブロック、最高品質) から、256x256 のテクスチャで 7.6 KB (12x12 ブロック、最高圧縮率) 。
RGB 16 bit アルファなしの 65000 色。圧縮された形式よりもメモリを消費しますが、UI やグラデーションのないくっきりとしたテクスチャにより適しています。256x256 のテクスチャで 128 KB。
RGB 24 bit アルファ なしのトゥルーカラー。256x256 テクスチャで 192 KB。
Alpha 8 bit カラーなしの高品質アルファチャンネル。256x256 テクスチャで 64 KB。
RGBA 16 bit 低品質のトゥルーカラー。アルファチャンネルありのデフォルトのテクスチャ圧縮。256x256 テクスチャで 12 KB。
RGBA 32 bit アルファチャンネルありのトゥルーカラー。アルファチャンネルありのテクスチャ圧縮では最高品質。256x256 テクスチャで 256 KB。
Compression quality パフォーマンスを最速にしたい場合は Fast、画像を最高質にしたい場合は Best、その 2 つの中間を取りたい場合は Normal を選択します。

If your app is installed on a device that doesn’t support the Texture compression format it uses, Unity decompresses the Textures to RGBA 32 and store them in the device’s memory, along with the compressed Textures, while the app is running. This leads to increased loading times and higher memory usage, because Unity must decompress the Textures and store two versions of the Textures used (compressed and uncompressed). This can also have a large impact on rendering performance, especially on older, slower devices.

Use ETC2 compression unless your app targets specific hardware like the Nvidia Tegra. ETC2 supports Textures with and without an alpha channel, and all OpenGL ES 3 devices support it. To avoid software decompression, follow these steps:

  1. Open the Android Player settings (menu: Edit > Project Settings > Player Settings).
  2. In the Other Settings section, remove OpenGL ES 2 from the Graphics APIs list. This sets the minimum graphics API to OpenGL ES 3.
  3. In the Other Settings section, set the Minimum API Level to Android 4.4 ‘KitKat’ (API level 19).

To target OpenGL ES 2 and OpenGL ES 3 devices, you can create and publish two different APKs. Follow these steps:

  1. Build an APK that targets OpenGL ES 3, using the Player settings in the screenshot above.
  2. Build a separate APK that targets OpenGL ES 2. To do this, remove OpenGL ES 3 and Vulkan from the Graphics APIs section of the Player settings.
  3. Publish both of these APKs to the Google Play Store. When a user downloads your app, the Google Play Store automatically installs the most relevant APK for their device.

For more information about publishing multiple APK files, see Android Developer documentation on:

OpenGL ES 2 をターゲットとする APK を構築するときは、ETC1 テクスチャ圧縮を使用します。

The Texture compression format for OpenGL ES2-targeted APKs can be ETC1. Unity can use ETC1 for Textures with Alpha, provided they are placed on a sprite atlas (by specifying the packing tag) and the build is for Android. You can opt in for this by setting the Compress using ETC1 checkbox for the Texture. Unity then splits the resulting atlas into two Textures, each without alpha, and then combines them in the final parts of the render pipeline.

If you must store an alpha channel in a Texture, all hardware vendors support the RGBA 16 bit compression format.


  • 2017–09–18 Page amended

  • Unity 2017.1 のアップデート機能

  • Crunch 圧縮形式は Unity 2017.3 で更新NewIn20173

App patching for fast development iteration
Android 向けシングルパスステレオレンダリング機能