DXTBmpの導入方法のご紹介です。
1-DXTBmpのダウンロード
2-DXTBmpのインストール
3-DXT圧縮について
4-bmp→ddsへの変換
と順番に説明をしていきます。
1-DXTBmpのダウンロード
はじめにDXTBmpをダウンロードします。
下記のリンクからGIMP DDS Pluginのページへ移動できます。
http://www.mwgfx.co.uk/programs/dxtbmp.htm
ページの一番下、「Download dxtbmpx.exe Self installing archive」と書いてあるDownloadをクリックするとdxtbmpx.exeというファイルをダウンロードすることができます。
保存場所はどこでも構いません。
2-DXTBmpのインストール
次にDXTBmpをインストールしていきます。
1でダウンロードしたdxtbmpx.exeをクリックすると、下図のようなウィンドウが表示されるので「Setup」をクリックします。
さらに、下図のようなウィンドウが表示されるのでインストール先のフォルダを指定して「install」をクリックしてください。
インストールはこれで完了です。
アンインストールは、インストール先に指定した場所にある「Graphics」というフォルダを削除するだけです。
3-DXT圧縮について
実際の変換方法の説明をする前に、DXT圧縮などについて簡単な説明をしておきたいと思います。
とはいっても、今回DXTBmpの記事を書くにあたって、急遽あちこちから情報を集めてまとめたものなので間違っているところもあるかもしれませんので、その点はご了承ください。
DXT圧縮とは画像圧縮技術の一つで、DXTBmpはそのDXTという圧縮技術を使用して、3Dゲーム等に適したdds形式へ画像ファイルを変換してくれるツールです。
圧縮の種類にはDXT1からDXT5までの5種類あり、skyrimで使用するのは主にDXT1とDXT5です。
DXT1とDXT5の違いは、アルファチャンネル付きの画像かどうかです。
何もしていない普通のテクスチャならDXT1で圧縮して、どこかに透明な部分を入れているようなテクスチャならDXT5で圧縮する、といった感じです。
○○○_n.ddsという名前がついているようなノーマルマップではアルファチャンネルにスペキュラ情報を入れてDXT5で圧縮したりもします。
ddsに変換する画像は、1024*1024や2048*2048などの2の累乗のサイズの正方形を使用します。
画像の劣化についても少しふれておきます。
DXT圧縮を使い圧縮すると、画像が劣化するというのを聞いたことがある方も多いかと思います。
そもそも、圧縮しているので仕方ないといえばそうなのかもしれませんが、これが結構厄介なのです。
例えば、服の糸の縫い目まできれいに書き込んだのに、圧縮してみたら見事につぶれていた、なんてこともよくあります。
そんなときは、元のテクスチャを書き直すのもいいですし、どの変換ツールを使用するかによっても違いがでることもありますので、いろいろなものを試してみるのもいいかもしれません。
僕の場合は、DXTBmpで圧縮してみて、納得できなかったらPaint.NETでも試してみたりしています。それでもだめならテクスチャを書き直すという感じでやっています。
以上、簡単ですがDXT圧縮についてまとめてみました。
4-bmp→dssへの変換
ここから実際のbmpからddsへの変換する方法の説明していきます。
はじめにDXT1圧縮を使用した変換の方法を、次にDXT5圧縮を使用した変換の方法を説明していきます。
4.1 DXT1圧縮を使用した変換
DXT1圧縮はアルファチャンネルのない画像を圧縮するときに使用します。
例として、左図のような256*256の24bitのbmpファイルを用意しました(実際に貼られているのは説明用のjpeg形式のものです)。
この時点での容量は192kbです。
DXTBmpにファイルを読み込むにはFile→Openとするか(下図A)、あるいは直接ドラッグ&ドロップでもいいです。
ファイルが読み込めたらddsに変換します。
File→Save as→DDS Textureと進んでいきます(下図参照)。
「Export as DDS Image」というウィンドウが表示されるので、保存する場所を選択して、ファイルの名前を入力し、ファイルの種類で圧縮方法の種類を選択します。
圧縮方法は「DDS DXT1(NoAlpha)」を選択してください。
保存をクリックすれば、ddsに変換されたファイルが指定した場所に保存されます。
圧縮後の容量は42.8kbでした。
4.2 DXT5圧縮を使用した変換
DXT5圧縮はアルファチャンネル付きの画像を圧縮するときに使用します。
上で使用した256*256の24bitのbmpファイルにアルファチャンネルを追加して背景を透明にします。
左図のようなアルファチャンネル用の画像も用意します。256*256の24bitのbmpファイルです。
黒い部分は透明となり、白い部分はそのまま残ります。灰色にすれば透ける感じにもできます。
4.1でやったようにDXTBmpに画像を読み込んだら、下図のAの赤で囲んだ「Import Alpha Channel」クリックします。
グレースケールに変換され、サイズも変換されますよという内容の警告のウィンドウが表示されるので、OKをクリックしてください。
すると、右上のAlpha Channelというところにアルファチャンネル用に作成した画像が表示されます。
圧縮方法を今度は「DDS DXT5」にして変換していきます。
すると、下図のように背景が透けたddsファイルが作成できました。
※DXTBmpで読み込んでも透明になっているのが分かりにくいのでPaint.NETで読み込んだ画像を載せています。
圧縮後の容量は85.4kbでした。アルファチャンネルの分だけ容量も増えています。
以上、DXTBmpの導入方法及び使用方法でした。









