こっぺぱんブログ

ARTICLE PAGE

in DOA5MOD備忘録

DOA5 テクスチャの圧縮

-- COMMENT



DOA5のコスチュームMODを海外のサイトでダウンロードしたのですが、ファイルサイズがTMCとTMCLで10MBを超えており、DOA5でキャラ選択、コスチューム選択で進めるとLOAD時間が幾らたっても終わらない俗に言う無限LOADに入りゲームが開始されない症状が出ていました。

Dead or Alive 5 Last Round PC版 俺用メモ様によると不知火舞は9MBないし8MB程度までTMCとTMCLのファイルサイズを抑えないと無限LOADが発生するそうで、テクスチャのファイルサイズの圧縮作業が不可欠なのだそうです。同じコスチュームをNAOTORAに着せても問題なく動作するんですけどね。


ダウンロードしたコスチュームのTMCとTMCLのファイルサイズは合計10.4MB程あるためテクスチャの圧縮作業をしてみました。作業手順について自分の備忘録がてら、まとめておきたいと思います。

paint.netは読み込んだDDSファイルのテクスチャを圧縮する際にファイルサイズを半分程度まで圧縮してくれる割に、DXT1で圧縮しても実際のゲームでのテクスチャの品質はぱっと身では違いがわからないレベルで大変優秀です。paint.netはプラグインなしでDDSファイルを開くことができます。



使用したツール

paint.net
Texture Tool(Texture Tool JPN Customを使用)
xnview.exe



image2_2017022514125954c.png


DDSファイルの抽出

Texture Toolを起動して作業するTMCファイルを指定して開く。「その他」→「すべて書き出し」→フォルダを指定して読み込んだTMCと付随するTMCLからすべてのDDSファイルを抽出します。


テクスチャの圧縮

image3_20170225141734cbc.png


Paint.NETを起動し「ファイル」→「開く」で作業するDDSファイルを指定して開く。「ファイル」→「名前を付けて保存」→ファイルの種類「DirectDraw サーフェイス(DDS)を選択して「保存」ボタンを押します。


doa5_image1.png


設定:DXT1(塗りつぶし/1ビット アルフ…」
圧縮の種類:クラスターフィット(低速/高画質)
エラーメトリック:外周
追加オプション: ・アルファによる色の重み(グレーアウト) ・ミニマップの生成



この作業をテクスチャの圧縮をするDDSファイルすべてで繰り返します。今回のテクスチャでは元が1345kbに対して683kbまで圧縮することができました。




テクスチャの上書き

image3_20170225143424ed6.png


Texture Toolを起動しDDSファイルを抽出したTMCを読み込みます。続けてxnviewを起動して圧縮したDDSファイルを選択して開きます。二つのツールを両方表示するようにした上で、Texture ToolのID番号を圧縮したDDSファイルで上書きするテクスチャを選択します。この例ではID番号1番のテクスチャを上書きします。xnviewでは開いたDDSファイルが入っているフォルダの中のすべてのDDSファイルがエクスプローラー形式で表示されておりプレビューも表示されるので便利です。

xnviewではTexture ToolでDDS出力したときのファイル名がTex_1、Tex_2・・・のように並んでいます。Texture ToolのID番号1がxnviewで表示されているTex_1に該当します。xnview上のTex_1をTexture Toolのプレビュー画面にドラッグ&ドロップすると圧縮したDDSファイルがTMCに対して上書きされます。この作業を変更するテクスチャの数だけ繰り返します。

作業が終わったら「別名で保存」ボタンを押し適当に保存しておきます。後は変更が終了したTMCとTMCLファイルをMOD環境に応じてコピーしてあげて動作チェックをします。




20170225134950_1.jpg


20170225134951_1.jpg


ファイルサイズは合計で9.28MBほどですが、無限LOADはなんとか回避できたようです。




正直アルファチャンネルとかミニマップとかよくわかっていないんですが、作業手順自体は非常に単純ですので、わからなくても作業自体は問題ないです。ただ、今回のケースでファイルサイズが1MB以上のファイルについて作業をしましたが、当初肌のテクスチャ、青色のテクスチャ(ミニマップ?)、透明なテクスチャ(アルファチャンネル?)の3つのファイルを圧縮してTexture Toolで既存のテクスチャに上書きしたところ、テクスチャ自体が真っ黒になってしまいました。当然のごとくゲームを起動するとキャラの肌は真っ暗です。

おそらく透明なテクスチャが問題だったようで、このファイルを上書きしないことで肌は正常になりゲームも無限LOADせずに起動することができました。肌のテクスチャもこの設定で圧縮すると極端に色が薄くなってしまいます。やむおえず既存のテクスチャに上書きして元々のテクスチャと見た目がほとんど差が出ないものだけ適用し、黒くなってしまうDDSファイルは上書きしないことで対処しました。

今回のケースだと肌のテクスチャと透明のテクスチャ(アルファチャンネル?)テクスチャが該当し、青いテクスチャ(ミニマップ?)は問題なかったです。圧縮する際の種類をDXT1を選択するとアルファチャンネルの選択肢がグレーアウトすることからアルファチャンネルの情報が失われたのかもしれません。ただDXT3を選択すると圧縮してもファイルサイズにほとんど違いは見られませんでした。











関連記事
スポンサーサイト
  • Share