【BVE】ImagemagickでDDS化

BVEの軽量化に欠かせないDDS化はサーバーなどで広く使われているImagemagickと呼ばれるソフトウェアで簡単にできます。

DDS化のメリットについてはかんたんのゆめさんのページをご覧ください

Imagemagickとは画像を操作したり変換などの画像処理を行うソフトウェアです。Imagemagickで扱える画像フォーマットは100種類以上あり、DDSも含まれる。ここではImagemagickを用いてPNG等の他形式からDDS形式に変換する方法について説明します。

Imagemagickで変換するメリット

Imagemagickはサーバーで広く使われているソフトウェアなので操作もシンプルです。また、独自のアルゴリズムを使用しているので、画質の影響も少ないというメリットがあります。

Imagemagickをダウンロード

Imagemagickをダウンロードします。ダウンロード先はこちら

「Download」(ダウンロード)をクリックします。

Windows向けにコンパイルされたデータをダウンロードします。

x86(32bit)版とx64(64bit)版の二種類ありますが、32bitPCならx86を64bitPCならどちらでも構いませんがx64の方が実行速度が速いです。

また、Q8とQ16の違いは仕上がり精度の違いで前者は精度が低いかわりに動作が若干速い、後者は精度が高いかわりに動作が若干遅いですが、Q16の方がきれいに仕上がりますのでそちらを選びましょう。

インストール

ダウンロードしたら実行しましょう。インストール場所はデフォルトで構いませんが、将来のバージョンアップに対応するためにProgram Files以降のディレクトリーをImageMagickにする事をお勧めします。

インストールオプションでは必ず「Add application directory to your system path(インストール先のディレクトリーをシステムパスに追加する)」と「Install legacy utilities(従来の実行ファイルをインストールする)」をクリックします。

「Create a desktop icon(デスクトップにショートカットを追加する)」は任意です。それ以外は特にチェックしなくてよいです。

あとはこのままインストールします。

DDSへの変換方法

※実行する前にバックアップを取ってください。

変換したい画像ファイルのフォルダを開き、Shiftキーを押しながら右クリックして、「コマンドウィンドウをここに開く」(Windows 10 Anniversary Update以前)または「Power shell ウィンドウをここに開く」(Windows 10 Creators Update以降)をクリックして、コマンドラインを開き、以下のように入力し、Enterキーを押すと一括で変換されます。

mogrify -format dds -define dds:compression=dxt5 *.png

ね、簡単でしょ。

ただし、これではサブフォルダーにあるファイルを変換することができないので、サブフォルダーにあるファイルをまとめて変換する場合はbatで実行する必要があります。

以下のソースをコピペして変換対象のフォルダーの中に保存してください。このとき、文字コードはShift-JISにしてください。

@echo off

set CONVERTER="C:\Program Files\ImageMagick\mogrify.exe"
set SOURCE=%~dp0

if not exist %CONVERTER% (
echo "指定されたImagemagickが見つかりません。"
exit /B
)

%CONVERTER% -format dds -define dds:compression=dxt5 *.png

for /d /r %%a in (*) do (
cd %%a
echo %%a
%CONVERTER% -format dds -define dds:compression=dxt5 *.png
cd ..
)
cd %~dp0
del /S *.png

del /S *.pngは拡張子がpngのファイルを全て削除するという意味です。必要に応じてこの部分を削除してください。

これを変換したいフォルダーに保存して、先ほどの方法でコマンドラインを開き、そのbatを実行してください。

ストラクチャーファイルを書き換え

次にストラクチャーファイルを書き換えます。ここでは秀丸エディタを使って変換したいと思います。notepad++で編集する際はかんたんのゆめさんのページをご覧ください。

検索(S)→grepして変換(@)…をクリックします。ダイアログボックスには次のように入力します。

検索する文字列(S): .png
置換する文字列(G): .dds
検索するファイル(N): *.x
検索するフォルダ:(変換対象のフォルダー)
サブフォルダも検索(U):チェックを入れる

置換をクリックすると、バックアップができていないなどという警告が出ます。全てにチェックを入れて、OKをクリックしますと置換が始まります。置換が終わると結果が表示されますので、これで変換作業は完了です。

やや、特殊なやり方ですがシンプルです。是非やってみて頂ければと思います。