2012必要条件この記事に必要な予備知識コマンドラインツールとテクスチャファイル形式に関する知識は、このガイドを最大限活用するために役立ちます。APIで使用するテクスチャのアセット用に推奨されているファイルタイプです。この記事では、アドビがATFファイルを作成および管理するために提供している、以下のツールを解説します。png2atfpvr2atfatf2pvrATFVieweratfinfopngalphapngsquareATFの基本情報ATFファイルは圧縮技術に依存しています、また、覚えておくべき制限事項がいくつかあります。ATF圧縮ATFファイルは、テクスチャデータを保持するファイルのコンテナです。XR圧縮と、ブロックベースの圧縮という、2種類の一般的な技術を使った非可逆圧縮が利用できます。XR圧縮は、記憶領域とネットワーク帯域幅の節約に有効な方法です。ブロックベースの圧縮は、RGBAテクスチャと比較して1:8の一定の比率で、クライアント側のテクスチャメモリの使用量を低減する方法です。ATFは、DXT1、ETC1、PVRTCという3種類のブロックベース圧縮をサポートします。ATFファイルでは、圧縮は2つのレベルで行われます。最初は、オプションのブロックベースの圧縮です。XR圧縮が適用されます。ATFファイル形式には、以下のような機能もあります。ミップマップの埋め込み完全なキューブマップ(スカイマップ)の埋め込み(オプション)内部カラースペース(4:4:4、4:2:2、4:2:0)の選択(オプション)ATFの制限事項ATFファイルには、様々なモバイルデバイスの持っているハードウェア機能の直接の影響による制限事項がいくつか存在します。制限事項の内容は、以下の通りです。テクスチャの最大サイズは2048x2048ピクセル。テクスチャのそれぞれの辺の長さは2のべき乗であること。1、2、4、8、16、32、64、128、256、512、1024、2048。ブロックベースの圧縮を使用する場合は、テクスチャの両辺が等しいこと(テクスチャは正方形であること)。8x8、16x16、32x32、64x64、128x128、256x256、512x512、1024x1024、2048x2048。ブロックベースの圧縮は、現時点では、どんな種類のアルファチャンネル(透過)にも使用できない。テクスチャが最大サイズの2048x2048である場合は、少なくとも1つの標準ミップマップレベルの提供が必要。これは、特定のデバイスでは、テクスチャサイズが最大1024x1024までしか受け入れないため。Falshランタイムは、必要に応じて、テクスチャサイズを1024x1024に自動変換する機能を持つ。png2atfpng2atfコマンドラインユーティリティは、PNGファイルをATFファイルに変換するツールです。生成されるATFファイルは、TextureクラスのuploadCompressedTextureFromByteArray()メソッドで使用できます。ツールへの入力は、有効なPNGファイルであることだけが条件です。ATFファイルのいずれかに変換します。png2atfツールは、入力のPNGファイルに透過情報が含まれていない場合、ブロックベースの圧縮をしたテクスチャを作成することもできます。ATFファイルに変換する場合は、png2atfコマンドを次の様に実行します。JPEG-XR:410KB]ブロックベースの圧縮でテクスチャファイルを作成する場合は、パラメーター「-c」を使ってコマンドを実行します。JPEG-XR:766KB]コマンドラインオプション表1は、png2atfの利用可能なコマンドラインオプションを示しています。<file>入力ファイル名を指定する。<file>出力ファイル名を指定する。-cブロックベースの圧縮による出力ファイルを作成する。DXT1、ETC1、PVRTCの3種類のブロックベースの圧縮テクスチャを作成し、出力されるATFファイルに埋め込む。PlayerまたはAIRに読み込まれると、ランタイムはデバイスに適した形式を使用する。PNGファイルに透過情報が含まれている場合、png2atfは代わりにRGBAテクスチャを作成する。ATFファイルに何が含まれているかを確認する場合は、atfinfoツールを使用する。ATFファイルの作成前に、特定のPNGファイルに透過ピクセルが含まれているか確認する場合は、pngalphaツールを使用する。-mキューブマップテクスチャを作成する。1つのキューブマップテクスチャには6つの入力ファイルが必要となる。入力ファイルは、「XXXn.png」という形式で名前を付ける必要がある。XXX」はベースとなるファイル名で、「n」には0~5までの数字を入れる。cube0.png、cube1.png、cube2.png、cube3.png、cube4.png、cube5.png。-iの後に指定するだけでよい。ファイルの配置は図1を参照。<start>,<end>ミップマップの自動生成を無効にし、特定範囲のテクスチャレベル(メインのテクスチャとミップマップ)のみを埋め込む。範囲は<start>,<end>の形式で指定し、メインテクスチャはレベル0で、ミップマップはレベル1からになる。このパラメーターを指定しないと、png2atfはすべての適切なミップマップレベルを生成する。ミップマップを有効にしないほうがいいケース(スカイマップなど)もある。-xミップマップ画像を自動生成する代わりに、入力ファイルから読み込む。入力ファイルは、「XXXnnpng」という形式で名前を付ける必要がある。「XXX」はベースとなるファイル名で、「nn」には00~12までの数字を入れる。ファイル00はメインのテクスチャを指し、ファイル01から12までがミップマップとなる。-xの後に指定するだけでよい。-s圧縮作業中のツールからの出力を無効にする。バッチ処理の際にこのパラメーターを使うと便利かもしれない。XRエンコーダーに、内部で4:4:4のカラースペースを使うように指示する。これは、ブロックベースの圧縮のデフォルト設定である。RGB/RGBAテクスチャに、赤や青のシェイプの周りににじみがある場合や標準マップの場合などは、このカラースペースを使うのが望ましい。XRエンコーダーに、内部で4:2:2のカラースペースを使うように指示する。ブロックベースの圧縮にはこのカラースペースを使用しを進めない。深刻な影響が発生する可能性がある。XRエンコーダーに、内部で4:2:0のカラースペースを使うように指示する。一般的に、深刻な影響が発生する可能性があるため、ブロックベースの圧縮にこのカラースペースを使用することは推奨されない。画像データがモノクロの場合は、このオプションを試す価値はある。<0-180>量子化レベルを選択し、画像データをどのくらい圧縮するかを決定する。値が大きいと影響が増加し、小さいと減少する。値「0」は、可逆圧縮(ロスレス)を意味する(ブロックベースの圧縮テクスチャに対するデフォルト設定)。ブロックベースの圧縮に非可逆圧縮を使用することは推奨されない。ケースバイケースでこの値を試す価値はある。RGBおよびRGBAテクスチャのデフォルト値は30。この値を、JPEG圧縮の圧縮率と混同しないこと。似たような概念ではあるが、異なる非線形領域に適用される。XR圧縮でどのくらいの数のビットが切り捨てられるかを選択する。このオプションは、量子化レベルとは関係がない。画像にどのくらいのノイズが残されるかに影響する。値が大きいとノイズが増加し、小さいと減少する。pvr2atfpvr2atfコマンドラインユーティリティは、PVRテクスチャファイルをATFファイルに変換します。このツールで生成されるATFファイルは、TextureクラスのuploadCompressedTextureFromByteArray()メソッドで使用することができます。このツールは、入力ファイルがPVRテクスチャ形式であること以外は、png2atfと同じ様な使い方です。ブロックベースの圧縮には、事前にPVRファイル形式で圧縮された3つのテクスチャを提供する必要があります。ATFファイルに変換する場合は、pvr2atfコマンドを次のように実行します。JPEG-XR:410KB]ブロックベースの圧縮でテクスチャファイルを作成する場合は、次のようにコマンドを実行します。それぞれのPVRファイルがブロックベースで圧縮された各フォーマットに対応します。JPEG-XR:766KB]利用可能なPVRテクスチャの種類pvr2atftツールは、以下の種類のPVRファイルを入力として扱えます。4BPP(OGL_PVRTC4)キューブマップ(PVRTEX_CUBEMAP)ミップマップ(PVRTX_MIPMAP)反転させたテクスチャは受け入れられません。反転オプションを無効にしてPVRテクスチャを作成するようにしてください。GUIツールの「Flipped(反転)」チェックボックスをオフにすると、反転オプションを無効にできます。コマンドラインオプション表2では、pvr2atfのコマンドラインオプションを説明します。PVRファイルを指定する。-d、-e、-pと一緒に使うことはできない。PVRファイルを指定する。PVRファイルを指定する。PVRファイルを指定する。<file>出力ファイルを指定する。-s圧縮作業中のツールからの出力を無効にする。バッチ処理の際にこのパラメーターを使うと便利かもしれない。XRエンコーダーに、内部で4:4:4のカラースペースを使うように指示する。これは、ブロックベースの圧縮のデフォルト設定である。RGB/RGBAテクスチャに、赤や青のシェイプの周りににじみがある場合や標準マップの場合などは、このカラースペースを使うのが望ましい。XRエンコーダーに、内部で4:2:2のカラースペースを使うように指示する。ブロックベースの圧縮にはこのカラースペースを使用しを進めない。深刻な影響が発生する可能性がある。XRエンコーダーに、内部で4:2:0のカラースペースを使うように指示する。一般的に、深刻な影響が発生する可能性があるため、ブロックベースの圧縮にこのカラースペースを使用することは推奨されない。画像データがモノクロの場合は、このオプションを試す価値はある。<0-180>量子化レベルを選択し、画像データをどのくらい圧縮するかを決定する。値が大きいと影響が増加し、小さいと減少する。値「0」は、可逆圧縮(ロスレス)を意味する(ブロックベースの圧縮テクスチャに対するデフォルト設定)。ブロックベースの圧縮に非可逆圧縮を使用することは推奨されない。ケースバイケースでこの値を試す価値はある。RGBおよびRGBAテクスチャのデフォルト値は30。この値を、JPEG圧縮の圧縮率と混同しないこと。似たような概念ではあるが、異なる非線形領域に適用される。XR圧縮でどのくらいの数のビットが切り捨てられるかを選択する。このオプションは、量子化レベルとは関係がない。画像にどのくらいのノイズが残されるかに影響する。値が大きいとノイズが増加し、小さいと減少する。atf2pvratf2pvrツールは、ATFファイルをPVRテクスチャファイルに変換します。その際、一つのATFファイルは複数のPVRファイルに分割されます。ブロックベースの圧縮を行ったATFファイルからは3つのPVRファイルが生成されます。それぞれのPVRファイルは拡張子でファイルの種類がわかります。以下は、atf2pvrコマンドを実行する例です。testATFViewerATFViewerは、ATFファイルのプレビューや検証に使用するGUIツールで、DXT1、ETC1、PVRTCの圧縮の様子の確認を第一の目的として提供されています。[Open]から選択するか、ファイルシステムからウィンドウにドラッグします。するとATFファイルに含まれるコンテンツがメインウインドウに表示されます(図2を参照)。3のコードでATFファイルを読み込む方法を示したサンプルが表示されます。}atfinfoatfinfoコマンドラインユーティリティは、ATFファイルの内部情報を表示します。サイズ、ミップマップの数、テクスチャの種類、そしてファイルにキューブマップが含まれるかを表示します。3のクラスとテスチャフォーマット名も表示します。(flash.display3D.Context3DTextureFormat)pngalphapngalphaコマンドラインユーティリティは、PNGファイルに透明なピクセルが含まれるかを判定します。出力される結果は2つの値のどちらかです:透明なピクセルが存在する場合はalpha、しない場合はopaqueになります。alphapngsquarepngsquareは、PNGファイルが正方形か長方形かを判別する際に使用できます。出力される結果は2つの値のどちらかです:PNGファイルが正方形の場合はsquare、長方形の場合はrectangleになります。SDKを使った圧縮テクスチャの使い方入門をご覧下さい。地域を選択してください地域を選択すると、アドビサイトで使用する言語と内容が変わります。