ブログに戻る
フォーマット

ASTC フォーマット: 究極のテクスチャ圧縮ガイド

12 最小読み取り

ASTC (Adaptive Scalable Texture Compression) は、現在利用可能な最も高度で柔軟なテクスチャ圧縮形式です。 ARM によって開発され、公式の Khronos 標準として採用された ASTC は、品質と圧縮率に対する前例のない制御を提供し、最新のモバイルおよびデスクトップ グラフィックスにとって理想的な選択肢となっています。

ASTCとは何ですか?

ASTC は、ETC、PVRTC、DXT/BCn などの古い形式を置き換えるように設計された非可逆ブロックベースのテクスチャ圧縮形式です。これは、すべてのプラットフォームで機能し、品質とサイズの幅広いトレードオフをサポートする単一の統一フォーマットを提供するように特別に設計されました。

圧縮率が固定されていた以前の形式とは異なり、ASTC では開発者が 14 の異なる 2D ブロック サイズ (4×4 ~ 12×12) と複数の品質レベルから選択できるため、視覚的な品質とメモリ消費量のバランスをきめ細かく制御できます。

ASTC は、LDR (ロー ダイナミック レンジ) および HDR (ハイ ダイナミック レンジ) コンテンツ、1 ~ 4 のカラー チャネル、および 2D テクスチャと 3D テクスチャの両方をサポートします。この多用途性により、最新のグラフィックス アプリケーションのほぼすべてのテクスチャ タイプに適しています。

ASTCの主な特徴

柔軟なブロックサイズ

4×4 (8 bpp) から 12×12 (0.89 bpp) までの 14 の異なる 2D ブロック サイズにより、圧縮率と品質を正確に制御できます

調整可能な品質

複数のエンコード品質レベル (高速、中程度、徹底、徹底) により、エンコード時間と視覚的な忠実度のバランスをとることができます。

HDRのサポート

最新の PBR (物理ベース レンダリング) ワークフローに不可欠なハイ ダイナミック レンジ テクスチャのネイティブ サポート

ハードウェア効率が高い

電力消費とメモリ帯域幅の使用を最小限に抑えて、効率的なハードウェア解凍を行うように設計されています。

ASTC ブロック サイズの説明

ASTC のブロック サイズによって圧縮率と品質が決まります。ブロックが小さいほど詳細が保持されますが、圧縮率は低くなります。

ブロックサイズビット/ピクセル品質ベストユースケース
4x48.00最高詳細なテクスチャ、法線マップ
5x55.12高い高品質なカラーテクスチャー
6x63.56中~高バランスの取れた品質/サイズ (推奨デフォルト)
8x82.00中くらい背景テクスチャ、UI要素
12x120.89より低い大きなテクスチャの最大圧縮

エンコーディング品質レベル

ASTC エンコーダは、エンコード時間と出力品質に影響を与える複数の品質プリセットをサポートしています。

速い

~1~2秒

高品質で最速のエンコード。開発中の迅速な反復に適しています。

中くらい

~5~10秒

品質とスピードのバランスが取れています。ほとんどのユースケースと運用ビルドに推奨されます。

徹底的に

~30~60秒

より徹底的な検索による高品質の圧縮。ヒーロー アセットや最終ビルドに適しています。

網羅的

~2~5分

非常に遅いエンコードで最高の品質。品質が最優先される重要な資産に使用します。

ASTCのメリット

ユニバーサルプラットフォームのサポート

すべての最新のモバイル GPU (OpenGL ES 3.2+、Vulkan) でサポートされており、複数のプラットフォーム固有の形式を単一のソリューションに置き換えます。

比類のない柔軟性

14 のブロック サイズと複数の品質レベルにより、他の圧縮形式よりも詳細な制御が可能になり、テクスチャ タイプごとに最適化されます。

優れた品質

高度な圧縮アルゴリズムにより、同等のビットレートで ETC、PVRTC、DXT よりも優れた視覚品質が得られます。

最新の機能

HDR サポート、3D テクスチャ、PBR マテリアルの最適なエンコーディングにより、ASTC は最新のレンダリング技術に将来も対応します。

ASTC と他の形式

ASTC と従来のテクスチャ圧縮形式との比較:

対ETC1/ETC2

ETC は、固定 4:1 圧縮 (ETC1) または 8:1 (ETC2 RGBA) を備えた Android のレガシー形式です。

ASTC アドバンテージ: ASTC は、同じビットレートでより高い品質を提供し、より多くの圧縮率 (0.89 ~ 8 bpp 対 4 ~ 8 bpp) をサポートします。

vs PVRTC

PVRTC は、ピクセルあたり 2 ビットまたは 4 ビットの圧縮を備えた iOS のレガシー形式です。

ASTC アドバンテージ: ASTC は、より優れた品質と柔軟性を提供し、PVRTC のブロック境界アーティファクトを回避します

vs DXT/BCn

DXT/BCn は、さまざまな形式でピクセルあたり 4 ~ 8 ビットのデスクトップ標準です。

ASTC アドバンテージ: ASTC は、モバイル向けに低いビットレート (0.89 bpp まで) を提供しながら、BCn 品質と同等またはそれを超えています。

ASTCフォーマットの使用方法

ASTC をプロジェクトで使用するのは、弊社のオンライン ツールを使用すると簡単です。

ASTCへのエンコード

  1. ソース画像 (PNG、JPG) をアップロード - あらゆるサイズに対応します
  2. 品質/サイズ要件に基づいてブロック サイズを選択します (ほとんどの場合、6×6 が推奨されます)。
  3. エンコード品質を選択します (開発では中程度、実稼働では徹底/徹底的)
  4. .astc ファイルをダウンロードしてプロジェクトに統合します

ASTC ファイルのデコード

  1. .astc ファイルをアップロードしてその内容を検査します
  2. 解凍されたテクスチャとブロック サイズおよびフォーマット情報を表示する
  3. 編集または品質検証のために PNG にエクスポート

ベストプラクティス

  • 開始点として 6×6 ブロックを使用します (3.56 bpp) - ほとんどのテクスチャに対して優れた品質/サイズ バランスが提供されます
  • ノーマル マップや UI テキストなどの詳細が重要なテクスチャには、より小さいブロック (4×4、5×5) を選択してください
  • 遠くから見る背景、スカイボックス、またはテクスチャには、より大きなブロック (8×8、10×10、12×12) を使用します。
  • さまざまな品質レベルをテストします - 多くの場合「中」で十分ですが、「徹底的」または「徹底的」はヒーロー アセットにのみ使用してください。
  • メモリ使用量を最適化するために、同じアプリケーション内の異なるテクスチャ タイプに異なるブロック サイズを使用することを検討してください。
  • ターゲットデバイス上で圧縮されたテクスチャを常にプレビュー - 品質の認識はコンテンツや表示条件によって異なります

結論

ASTC はテクスチャ圧縮テクノロジーの頂点であり、比類のない柔軟性、品質、プラットフォーム サポートを提供します。その適応性の性質により、開発者は各アセットの圧縮を微調整し、視覚的な忠実度とメモリ消費量のバランスを最適化することができます。

開発対象がモバイル、デスクトップ、コンソールのいずれのプラットフォームであっても、ASTC はローエンド デバイスからハイエンド グラフィックスまで拡張できる、将来性のあるソリューションを提供します。当社のオンライン ASTC ツールを使用すると、さまざまな設定を簡単に試して、プロジェクトのニーズに最適な構成を見つけることができます。

詳細な資料と参考資料

次の信頼できるリソースを使用して、ASTC について詳しく説明します。