Version: 2023.2
言語: 日本語
テクスチャ形式
ミップマップ

推奨、デフォルト、およびサポートされているテクスチャ形式 (プラットフォーム別)

このページには以下の情報が含まれています。

This page doesn’t contain information about console platforms. For information about console platforms, see the platform-specific documentation.

For an overview of texture formats, see Texture formats. For information about texture import settings and how to set per-texture platform-specific overrides, see Texture import settings. Some texture import settings can also be overridden globally in Build Settings, mostly to speed up iteration time during development.

用語

このページでは、以下の用語を使用しています。

  • ビット毎ピクセル (bpp) は、1 つのテクスチャピクセルに必要なストレージの量です。bpp 値が低いテクスチャは、ディスク上およびメモリ上のサイズが小さくなります。また、bpp 値が低いほど、GPU はより多くのピクセルをキャッシュに保存することができ、結果としてテクスチャアクセスが速くなります。
  • LDR (ローダイナミックレンジ) とは、色が概念的に 0.0 (黒) と 1.0 (白) の間の値にある、ほとんどの一般的な画像を指します。多くの画像ファイル (PNG や JPG など) はローダイナミックレンジです。
  • HDR (ハイダイナミックレンジ) とは、色が 0 から 1 よりも高い範囲を持つ特殊な画像とテクスチャ形式を指します。.exr や .hdr といった画像ファイル形式は、しばしば HDR 画像データに使用されます。ランタイムや GPU 上では、いくつかの HDR 形式があり、それぞれ、精度、範囲、メモリ使用量などの長所短所があります。
  • RGB は、赤、緑、青の 3 色を組み合わせて色の配列を再現するカラーモデルです。
  • RGBA はアルファチャンネルを持つ RGB の一種で、ブレンドと透明度の変更が可能です。
  • 可変ビットレート (VBR) は、ピクセルあたりのビット数が固定値ではなく、実際のコンテンツに依存することを意味します。VBR は Crunch 圧縮 にのみ、そしてディスク上のテクスチャサイズにのみ適用されます。メモリ内のサイズは、基礎となるテクスチャ形式を使用する場合と同じです (例えば、RGB Crunched DXT1 のための RGB Compressed DXT1)。

推奨テクスチャ形式 (プラットフォーム別)

デスクトップ

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 が推奨されます。

サポートされるすべての形式の詳細については、サポートされるテクスチャ形式リファレンス表 を参照してください。

iOS と tvOS

For Apple devices that use the A8 chip (2014) or above, ASTC is the recommended texture format for RGB and RGBA textures. This format allows you to choose between texture quality and size on a granular level: all the way from eight bits/pixel (4x4 block size) down to 0.89 bits/pixel (12x12 block size). If support for older devices is needed, or you want additional Crunch compression, then Apple devices support ETC/ETC2 formats starting with A7 chip (2013). For even older devices, PVRTC is the format to use. On iOS you can configure the default texture format in the Player Settings. PVRTC gives you the broadest possible compatibility. ASTC is preferred, but is not supported on A7 devices (the very first Metal-enabled devices) and will be unpacked at runtime.

サポートされるすべての形式の詳細については、サポートされるテクスチャ形式リファレンス表 を参照してください。

Android

Android のテクスチャ形式のサポートは複雑です。異なる サブターゲット を使って、複数のアプリケーションバージョンをビルドする必要があるかもしれません。

デフォルトのフォーマットは Player Settings で選択することができます。選択肢は、ASTC、ETC2、ETC (RGB では ETC1、RGBA では ETC2)です。各設定の動作の詳細については、テクスチャ圧縮設定 を参照してください。

LDR、RGB、RGBA テクスチャについては、OpenGL ES 3.1 または Vulkan をサポートする最新のAndroid GPU のほとんどが ASTC 形式もサポートしており、以下のようなものがあります。 Qualcomm GPU Adreno 4xx / Snapdragon 415 (2015) 以降、ARM GPU Mali T624 (2012) 以降、NVIDIA GPU Tegra K1 (2014) 以降、PowerVR GPUs since GX6250 (2014) 以降。

If you need support for older devices, or you want additional Crunch compression, then all GPUs that run Vulkan or OpenGL ES 3.0 support the ETC2 format. The resulting image quality is quite high, and it supports one- to four-component texture data. For even older devices, usually only ETC format is available. The drawback is that there is no direct alpha channel support. For Sprites, Unity offers an option to use ETC1 compression by splitting a texture into two ETC1 textures: one for RGB, one for alpha. To enable this, enable the Android-specific Split Alpha Channel option for the Texture when importing a Sprite Atlas. The sprite shader samples both textures and combines them into the final result.

For HDR textures, ASTC HDR is the only compressed format available on Android devices. ASTC HDR requires Vulkan or GL_KHR_texture_compression_astc_hdr support. ASTC is the most flexible format. If a device doesn’t support ASTC HDR the texture is decompressed at runtime to RGB9e5 or RGBA Half, depending on alpha channel usage.

ASTC HDR に対応していないデバイスでは、Vulkan、Metal、OpenGL ES 3.0 を搭載したすべてのデバイスが RGB9e5 に対応しており、アルファチャンネルのないテクスチャに適しています。アルファチャンネルやさらに広い範囲のサポートが必要な場合は、RGBA Half を使用します。これは、RGB9e5 の 2 倍のメモリを必要とします。

If you want to distribute your application to Google Play, it’s best practice to use texture compression targeting.

See the Supported texture formats reference table for detailed information about all supported formats.

デフォルトのテクスチャ形式 (プラットフォーム別)

以下は各プラットフォームで使用されるデフォルト形式を表しています。

プラットフォーム カラーモデル 圧縮なし 標準品質 (デフォルト) 高品質 低品質 (高パフォーマンス)
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 (configurable) 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 (configurable) RGB RGB 24 bit RGBA Compressed ASTC 6x6 block
RGB Compressed ETC2
RGB Compressed ETC
RGBA Compressed ASTC 4x4 block
RGB Compressed ETC2
RGB Compressed ETC
RGBA Compressed ASTC 8x8 block
RGB Compressed ETC2
RGB Compressed ETC
RGBA RGBA 32 bit RGBA Compressed ASTC 6x6 block
RGBA Compressed ETC2
RGBA Compressed ASTC 4x4 block
RGBA Compressed ETC2
RGBA Compressed ASTC 8x8 block
RGBA Compressed ETC2
iOS (configurable) RGB RGB 24 bit RGBA Compressed ASTC 6x6 block
RGB Compressed PVRTC 4 bits
RGBA Compressed ASTC 4x4 block
RGB Compressed PVRTC 4 bits
RGBA Compressed ASTC 8x8 block
RGB Compressed PVRTC 2 bits
RGBA RGBA 32 bit RGBA Compressed ASTC 6x6 block
RGBA Compressed PVRTC 4 bits
RGBA Compressed ASTC 4x4 block
RGBA Compressed PVRTC 4 bits
RGBA Compressed ASTC 8x8 block
RGBA Compressed PVRTC 2 bits
tvOS RGB RGB 24 bit RGBA Compressed ASTC 6x6 block RGBA Compressed ASTC 4x4 block RGBA 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)
RGB(A) Compressed BC7 圧縮された RGB か RGBA RGB か RGBA 8 1
RGBA Crunched DXT5 圧縮された RGBA、追加のディスク上 Crunch 圧縮あり RGBA 低 - 中 可変 可変
RGBA 64 bit 非圧縮の RGBA、非常に高い精度 RGBA 非常に高い 64 8
RGBA 32 bit 非圧縮の RGBA RGBA 32 4
RGBA 16 bit 量子化された RGBA RGBA 16 2
RGB Compressed DXT1 圧縮された RGB (BC1 とも呼ばれる) RGB 4 0.5
RGB Crunched DXT1 圧縮された RGB、追加のディスク上 Crunch 圧縮あり RGB 低 - 中 可変 可変
RGB 48 bit 非圧縮の RGB、非常に高い精度。GPU 用に RGBA 64 bit に変換されています。 RGB 非常に高い 48 ディスク、64 GPU 6 ディスク、8 GPU
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
R Compressed BC4 圧縮されたシングルチャンネル (R) R 4 0.5
R 8 非圧縮シングルチャンネル (R) R 8 1
R 16 bit 非圧縮シングルチャンネル (R)、非常に高い精度 R 非常に高い 16 2
Alpha 8 非圧縮シングルチャンネル (A) A 8 1
RGBA Half HDR、半精度 (FP16) RGBA、–64k から +64k の範囲 RGBA 64 8
RGB Compressed BC6H HDR、圧縮 RGB、0 から +64k の範囲 RGB 8 1
RGB9e5 32 Bit 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、追加のディスク上 Crunch 圧縮あり RGBA 低 - 中 可変 可変
RGB + 1-bit Alpha Compressed ETC2 4 bits 圧縮された RGBA。アルファ値が完全に不透明または完全に透明。 RGBA 4 0.5
RGBA Compressed PVRTC 4 bits 圧縮されたRGBA。テクスチャは正方形であることが必要。 RGBA 4 0.5
RGBA Compressed PVRTC 2 bits 圧縮された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、追加のディスク上 Crunch 圧縮あり RGB 可変 可変
RGB Compressed PVRTC 4 bits 圧縮された RGB、テクスチャは正方形であることが必要。 RGB 4 0.5
RGB Compressed PVRTC 2 bits 圧縮された RGB、テクスチャは正方形であることが必要。 RGB 2 0.25
RG Compressed EAC 8 bit 圧縮 2 チャンネル (RG) RG 8 1
R Compressed EAC 4 bit 圧縮されたシングルチャンネル (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 Web (Desktop Browsers) Web (iOS and Android browser)
RGB(A) Compressed BC7 可 (1) 可 (1) 不可 不可 可 (1) 不可
RGBA Compressed DXT5 不可 (3) 不可 一部可 (2) 不可
RGBA Crunched DXT5 不可 (3) 不可 一部可 (2) 不可
RGBA 64 bit 一部可 (4) 不可 不可
RGBA 32 bit
RGBA 16 bit
RGB Compressed DXT1 不可 (3) 不可 一部可 (2) 不可
RGB Crunched DXT1 不可 (3) 不可 一部可 (2) 不可
RGB 48 bit 一部可 (4) 不可 不可
RGB 24 bit
RGB 16 bit
RG Compressed BC5 不可 不可 不可
RG 32 bit 一部可 (4) 不可 不可
R Compressed BC4 不可 不可 不可
R 8
R 16 bit 一部可 (4) 一部可 (4) yes (10) 可 (10)
Alpha 8
RGBA Half 一部可 (7) 一部可 (7) 一部可 (7)
RGB Compressed BC6H 可 (1) 可 (1) 不可 不可 可 (1) 不可
RGB9e5 32 Bit Shared Exponent Float yes)
RGB(A) Compressed ASTC 不可 不可 不可 一部可 (5) yes (6) 不可 yes (6 and 9)
RGBA Compressed ETC2 不可 不可 不可 一部可 (9) 不可
RGBA Crunched ETC2 不可 不可 不可 一部可 (9) 不可
RGB + 1-bit Alpha Compressed ETC2 4 bits 不可 不可 不可 一部可 (9) 不可
RGBA Compressed PVRTC 4 bits 不可 不可 不可 no (8) 不可 不可
RGBA Compressed PVRTC 2 bits 不可 不可 不可 no (8) 不可 不可
RGB Compressed ETC2 不可 不可 不可 一部可 (9) 不可
RGB Compressed ETC 不可 不可 不可 不可
RGB Crunched ETC 不可 不可 不可 不可
RGB Compressed PVRTC 4 bits 不可 不可 不可 no (8) 不可 不可
RGB Compressed PVRTC 2 bits 不可 不可 不可 no (8) 不可 不可
RG Compressed EAC 8 bit 不可 不可 不可 一部可 (9) 不可
R Compressed EAC 4 bit 不可 不可 不可 一部可 (9) 不可
RGB(A) Compressed ASTC HDR 不可 不可 不可 一部可 (7) 一部可 (7) 不可 一部可 (7)

ノート:

  1. ただし、DX11 レベル以前の GPU、または WebGL か OpenGL を使用する macOS の場合は除きます。サポートされていない場合、ロード時に BC6H テクスチャは RGBA ハーフに、BC7 は RGBA32 に解凍されます。
  2. With linear rendering on web browsers that don’t support sRGB DXT, textures are decompressed to RGBA32 at load time.
  3. ただし、NVIDIA Tegra GPU を搭載した Android デバイスでは、DXT/BC 形式に対応しています。
  4. Requires GL_EXT_texture_norm16 or corresponding Vulkan capability on Android.
  5. Requires Vulkan or GL_KHR_texture_compression_astc_ldr OpenGL ES extension.
  6. Except on Apple A7 chip devices (2013).
  7. Android: requires GL_KHR_texture_compression_astc_hdr extension. iOS: requires A13 or later chip (2019).WebGL: requires WEBGL_compressed_texture_astc extension and HDR profile. When not supported, the texture is decompressed to RGB9E5 format, losing the alpha channel.
  8. Except on Android devices with Imagination PowerVR GPUs; these do support PVRTC formats.
  9. Requires WEBGL_compressed_texture_astc extension.
  10. Requires EXT_texture_norm16 extension and WebGL 2.

Supported texture formats in Web

The following table provides the supported texture formats for the Web platform.

Format 説明 
ASTC Adaptive Scalable Texture Compression (ASTC) is an advanced lossy texture compression format. Widely used for mobile browsers / devices.
DXT Also known as S3 Texture Compression (S3TC), DXT is mainly used for desktop browsers and devices.
ETC2 Ericsson Texture Compression (ETC) is an older lossy texture compression format, lower quality than ASTC, used for mobile browsers / devices.

その他の参考資料

TextureImporterOverride

テクスチャ形式
ミップマップ