ALImageMerge


目次

1. 概要
2. 基本的な使い方
3. コマンドラインオプション

第1章 概要

ALImageMergeとは、複数の小さな画像をまとめ、大きなテクスチャとして出力するツールです。 まとめるときには周辺の未使用部分も削られるため、画像サイズが削減できます。

主にスプライトで使用するテクスチャで使用します。 一般的に小さなテクスチャを複数持つより、大きいテクスチャにまとめる方が速度が速くなるので、

特に理由がなければこのツールで画像をまとめる事を推奨します。 画像をまとめても、ゲーム側での使用方法は変わりません。

第2章 基本的な使い方

ALImageMergeは基本的に指定したフォルダの中にある該当ファイルをワイルドカードで指定して検索し、まとめます。 最低限、基準となるIDと検索パスの指定が必要です。

ALImageMerge -BaseID 基準ID -SearchPath 画像検索フォルダ [各種オプション]

出力ファイル名を省略するとMergeImage.atxとなります。

第3章 コマンドラインオプション

コマンドラインオプションは大文字小文字の区別しません。

  • -BaseID 基準ID

    コンバートの基準となるIDを指定します。コンバートしたファイルはこのIDから順に使用します。

    数値は0xをつける事により16進数が使用可能です。

  • -BasePath 基準パス

    各種パスの基準パスを指定します。

    各種ファイル名指定やパス指定は、このパスが基準となります。

    指定がなければ入力ファイルのある場所が基準パスとなります。

    この基準パスの指定は、カレントパスが基準となりますのので、例えば . を指定すると各種パスの基準がカレントパスになります。

  • -WorkPath 中間ファイル出力パス

    中間ファイル出力パスを指定します。デフォルトでは_workです。このフォルダは削除しても問題ありません。

  • -OutPath 最終データ出力パス

    最終データ出力パスを指定します。

    このツールが出力するデータのうち、最終出力に相当するファイルを出力するパスを指定します。

    指定がなければ基準パスを使用します。

  • -SeparateImagePath SeparateImageオプション使用時の画像出力パス

    SeparateImageオプション使用時の画像出力パスを指定します。

    デフォルトではOutPathで指定される最終データ出力パスが使われます。

    SeparateImageオプション未使用時は無視されます。

  • -OutFile 最終データファイル名

    最終データのファイル名を指定します。

    拡張子を指定しても無視され、フォーマットに合わせた拡張子が設定されます。

    省略時はMergeImage.atxとなります。

    基準パスは最終データ出力パスです。

  • -SeparateImageFileName 分離画像のファイル名

    SeparateImageオプション指定時の分離画像ファイル名を指定します。

    省略時は出力テクスチャファイル名の拡張子をpngに変えた物を使用します。

  • -BigEndian 

    データをビッグエンディアンで出力します。

    なお、PCではリトルエンディアン、ビッグエンディアン両方のデータを読む事が可能です。

  • -SearchPath 検索対象のパス

    検索対象となるパスを指定します。

    セミコロンで区切って複数記述でき、ワイルドカードも使用可能です。

    省略は.が指定したとみなされ、カレントフォルダが対象になります。

  • -IgnoreFolderName 無視するフォルダ名

    フォルダ検索時に無視をするフォルダ名を指定します。

    パスではなく、フォルダ名そのものを指定します。

    セミコロンで区切って複数指定ができますが、ワイルドカードは使用できません。

  • -SearchFile 検索対象のファイル

    検索するファイルを指定します。

    セミコロンで区切って複数記述でき、ワイルドカードも使用可能です。

    SearchFolderの中の、このSearchFileで指定したファイルが実際の検索対象ファイルになります。

    省略時は、*.tga;*.bmp;*.pngが指定したとみなされます。

  • -TextureIDList テクスチャIDリストファイル名

    テクスチャIDリストを指定します。

    テクスチャIDリストとは、

    テクスチャ名=テクスチャID

    という形式で記述したテキストファイルで、ここに記述されたテクスチャは指定されたIDが使用されます。

    また、ここにないテクスチャは自動でIDが割り当てられ、このファイルに追加されます。

    手動で用意したり編集する必要は無く、自動で生成され更新されます。

  • -TextureIDMap テクスチャIDマップファイル名

    テクスチャIDマップを指定します。

    テクスチャIDマップとは、テクスチャIDリストを複数テクスチャ用に拡張した物で、

    [テクスチャ名]

    テクスチャ名=テクスチャID

    という形式で記述したテキストファイルです。

    UseMultiTextureオプションを有効にした時に使用します。

    これはツールが自動生成し、コンバート結果を格納するために使用されます。

  • -UseStxName 

    デフォルトでは生成されたテクスチャにはIDのみで元のファイル名情報は残りませんが、

    このオプションを使用すると、IDとファイル名の両方を含めるようにします。

  • -UseCenter 

    デフォルトでは画像の基準座標は左上になりますが、

    このオプションを指定する事により、中央が基準座標になります。

    なお、元画像に@付で分割数を指定している場合は、その分割指定での基準座標情報が優先されます。

  • -NoTrim 

    通常は元画像周辺の黒い部分は削られ、最小のサイズになりますが、

    このオプションを指定するとその削減を行わないようになり、

    元画像のサイズをそのまま維持するようになります。

  • -UseAar 

    このオプションを指定すると、atxを含めたaarアーカイブを生成します。

  • -IncludeFile 出力するヘッダファイル名

    テクスチャのIDリストをCのenum形式で出力するファイル名を指定します。

  • -IncludePrefix ヘッダファイル出力時のプレフィックス

    IncludeNameで指定したenumファイルのプレフィックスを指定します。

    省略時はOutFileのファイル名部分を大文字にした物が使用されます。

  • -GapSize 隙間のドット数

    画像を並べるときの隙間をドット単位で設定します。

    補間をする場合は1以上に設定しないと、隣の色が漏れる事があります。

    省略時は0です。

  • -TransparentMode 自動α処理モード

    bmpファイル等のα情報がない画像を読み込むときの自動α処理を指定します。

    使用できるのは

    ・None αはつけず、全て不透明とします。

    ・Color 後述のTransparentColorと併用で、指定した色を透明色とします。

    ・LeftTop 画像の左上の色を透明色とします。

    ・RightTop 画像の右上の色を透明色とします。

    ・LeftBottom 画像の左下の色を透明色とします。

    ・RightBottom 画像の右下の色を透明色とします。

    該当する色は、RGBAすべて0に設定されます。

    デフォルトではRightBottomです。

  • -TransparentColor 抜き色

    TransparentModeがColorの時の抜き色を指定します。

    透明色にする色をRGBの順に0~255で指定します。

    デフォルト値は0,0,0です。

  • -PowerOf2 

    出力テクスチャのサイズを2の累乗にします。

    なお、オプションをつけなくても横サイズは常に2の累乗になります。

    また、縦横それぞれを個別に2の累乗に設定するため、必ず正方形になるわけではありません。

  • -PVR2 

    出力フォーマットをPVR2に設定します。

  • -PVR4 

    出力フォーマットをPVR4に設定します。

  • -Etc 

    出力フォーマットをETCに設定します。

  • -ImageFormat 4文字で指定するイメージフォーマット

    出力画像のフォーマットを指定します。

    フォーマットはAqualeadのイメージフォーマットを使い、4文字で指定します。

    4444や、5551という形で指定します。

    デフォルトでは、32ビットRGBAフォーマットです。

  • -MaxSize ドット単位の最大縦横サイズ

    出力テクスチャの最大サイズ縦横サイズを指定します。

    このオプションでサイズを設定すると、MaxWidthオプションとMaxHeightオプションに同一の値を設定した場合の動作と同じになります。

  • -MaxWidth ドット単位の最大横サイズ

    出力テクスチャの最大サイズ横サイズを指定します。

    縦横で最大サイズを別に設定したい場合に使用します。

  • -MaxHeight ドット単位の最大縦サイズ

    出力テクスチャの最大サイズ縦サイズを指定します。

    縦横で最大サイズを別に設定したい場合に使用します。

  • -Filter 

    出力テクスチャのフィルタリングを有効にします。

  • -Platform プラットフォーム文字列

    生成したテクスチャを使用するプラットフォームを指定します。

    この指定により、RGBAの順番がプラットフォームに合わせた物になり、

    実行時に内部フォーマット変換のコストがかからなくなります。

    デフォルトではWindows,DirectX系で、

    現在android,ios,openglの3種が指定可能です。

  • -SeparateImage 

    主にブラウザ版向けに、管理領域と画像部分を別ファイルで出力します。

    このオプションを指定すると、テクスチャファイルであるatxには画像のパスと管理情報のみが記録され、

    イメージは別ファイルとして出力されます。

    この時イメージは、pngファイルとして出力します。

  • -ColorReduce 

    出力画像を減色します。

    pngquant.exeにパスがが通っている必要があります。

  • -ColorReduceQuality 減色時のクオリティ

    減色するときのクオリティを%で指定します。

    100は元画像と一致を意味するため、100では減色が行われません。

    逆に0は常に256色に減色します。

    それ以外は、まず256色に減色し、元画像との比較でクオリティが指定した値以上になるまで、色数を増やして再挑戦します。

    最終的に65536色に減色しても指定したクオリティに達しなかった場合は、32ビットフルカラーで出力します。

  • -IgnoreTextureIDPath 

    このオプションを設定すると、TextureIDリストを使用するときにパスを無視し、ファイル名のみ使用するようになります。

  • -IgnoreIncludeTextureIDPath 

    このオプションを設定すると、incファイル出力時にテクスチャのパスを抜いた識別子でenumを生成します。

  • -UseMultiTexture 

    出力テクスチャが指定最大サイズを超える場合、複数枚に分割します。

    このオプションの指定が無く、最大サイズ指定があり、そのサイズをオーバするとエラーになります。

  • -NoDither 

    デフォルトでは減色画像を生成する際にディザを使用しますが、ディザを使用しないようにします。

  • -MaxColor 画像を分割する閾値

    このオプションを設定すると、UseMultiTextureが有効になり、指定した色数を閾値にテクスチャを分解します。

    この色数はあくまでも目安の数です。

    使う画像の質にもよりますが500~2000程度の値を使用します。

    この指定により、例えば赤系の画像や青系の画像等似た色がまとめられるため、

    減色をする場合に減色時の劣化が抑えられます。

  • -SarList Sarファイル名

    .sarファイルと、SarListファイルを生成するオプションです。

    .sarとは.aar(Aqualeadで使用するアーカイブ)を生成するための設定ファイルです。

    .sarは、以下のように記述します。IDはデータの種別が違えば同じものを使用できます。

    Tex.bmp=0x1000

    sample1.amt=0x1000

    sample2.amt=0x1001

    .aarを作成する時にはデータごとにIDを設定する必要があるため、.sarが必要になります。

    SarListは、.csvなどのデータが存在する時、そのデータ用の

    .sarをincludeするためのファイルです。以下のように記述します。

    [CheckInclude]

    Test1.sar,../Test1.xls

    Test2.sar,../Test2.xls

    Test3.sar,../Test3.xls

    [CheckInclude]は、ALMakeArc関数を実行する時にカンマで区切った二番目のデータが存在すれば、

    一番目の.sarをincludeする構文です。

    例えばTest1.xlsが二番目の項目で指定されたパスに存在すれば、Test1.sarをincludeします。

    ALMakeArc( "_work/SarList.sar ../../Data/Tests.aar" );

    ALMakeArc関数の実行時、リストの最後の項目(Test3.csv)までCheckIncludeを行い、

    存在するすべての.csvを一つのTests.aarファイルにまとめて生成します。

  • -TexturePrepare 

    このオプションを有効にすると、アーカイブを生成した際に含まれるテクスチャを自動で生成します。

    ゲーム中でそのテクスチャを必要になった際、この生成済みテクスチャを使用するようになるため、

    テクスチャのセットアップが発生して負荷がかかることを抑えることが出来ます。

    なお、アプリケーション側の変更は一切必要ありません。

  • -NoShare 

    デフォルトでは画像のピクセルが完全一致する画像は共有しますが、同じ画像でも共有しないようにします。

  • -OneTexture 

    このオプションを設定すると、通常は画像一つ一つに個別のIDが設定されますが、

    画像ファイル名に@をつけたときのように、1枚の画像に境界情報が複数ある物として出力されます。

    境界情報は0から始まるインデックスであり、ファイル名でソートした順番で割り当てられます。

  • -SeparateTrans 

    このオプションを設定すると、α付き画像をRGBのみの画像とαのみの画像に分けて出力します。

    Etcフォーマットのように、αが使えない圧縮フォーマットを使う時等に使用します。

  • -DefaultStx デフォルトで使用するstxファイル名

    stxの指定が無い場合にデフォルトで使用するstxファイルを指定します。

    複数の画像が同一の境界情報を持つ場合等に使用します。

    なお、入力画像の拡張子をstxに変えたファイルが存在する場合は、そのstxが優先されます。