DXTbmpによる透過指定
2002/3/19

 

 DXTbmpの入手先

 ダウンロードサイト: http://fly.to/mwgfx
 
※各種DLLもダウンロードします。特にmwgfx.dllは古いものでは動作しないみたいです。Full DLL Setをダウンロードしておくといいかもしれません。

 DXTbmpとは?

DXTbmpはCFS2/FS2002用のDXTフォーマットBMPファイルを生成(逆変換)するツールです。CFS2/FS2002のデフォルトテクスチャのように、一見真っ白(プレビューは真っ黒)に見えるBMPテクスチャファイルは、このDXT形式のBMPで保存されています。

詳しいことは分からないのですが、このDXTフォーマットはDirectX用のフォーマットのようで、DirectXを使用したゲームでは色々とメリットがあるようです。試しに地表テクスチャに通常のBMPとDXT形式のBMPを貼ってみると、差は歴然とします。DXT形式のBMPのほうが自然とぼやけ、ギラギラせずに表示できるようです。(ファイルサイズも小さくできるようです)

さて、このDXTbmpを使用すると、デフォルトテクスチャ(機体・シナリ)のリペイントだけでなく、透過指定をしたBMPファイルの生成も可能です。透過指定をしたBMPテクスチャはBMP2000でも生成可能でしたが、CFS2/FS2002で使用する場合は、こちらのDXTbmpを使用したほうが表示が綺麗になると思います。

 DXTbmpによる透過指定

DXTbmpで透過指定を行うには、Alpha Channelを使用します。
BMP2000では256色のパレットを見ながら透過率を指定できましたが、DXTbmpでは少し設定がややこしいです。
そのため、上手く説明できるか分からないのですがご了承下さい。(また、もっと適した方法があるのかもしれません)

ここでは、嘉手納基地シナリで使用したテクスチャを例にします。
実際の表示例は、FS2002用嘉手納基地シナリV1.00/プレビュー版をダウンロードしてご覧になってみて下さい。

FS2002用嘉手納基地


ステップ1:テクスチャからAlpha Channelを作成します

まず、作成したBMPテクスチャ(実際にシナリで表示するテクスチャ)を用意します。※画像A
このテクスチャファイルは24bitのままでもOKのようです。サイズは256x256や512x512などになります。

まず、透過させる部分を緑(黄緑)色に置き換えます。この緑色とは(R:0 B:255 G:0)を差します。※画像B

作成した24Bit BMPテクスチャ 画像A

画像A

透過指定部分を緑色に置き換えます 画像B

画像B

 

次に、DXTbmpを起動し、[ File ] - [ Load Nomal Image ]からを 画像B 読みせます。

グレースケールファイルの作成

画像Bを読み込ませたら、[ Alpha ]から[ Create Alpha Channel ]をクリックし、[ Export Alpha Channel ]で作成するAlpha Channelを外部に保存します。(名前は***-alpha.bmpでも何でも構いません)

Alpha Channelは、256色グレースケールのBMPとして生成されます。上記の画面でいうと、右側の白黒の絵がBMPファイルとして出力されます。

生成されたAlpha Channel 画像C

画像C


[ 透過率の指定 ]

DXTbmpでは、複数の透過率を設定することができます。 上記の画像Cでは、透過率の設定は2つとなっています。
黒(R:0B:0G:0)の部分が透過率100%(完全透過)、白(R:255B:255G:255)の部分が透過率0%(完全不透過)となっています。
つまり、背景を透過させるだけでよい場合は、この段階で透過率の指定は完了です。(ステップ2へ →

透過率を複数設定したい場合には、このグレースケールのBMPファイルを使用して設定を行います。
黒が完全透過、白が不透過ですから、中間のグレーの度合いによって透過率が設定できます。
このグレースケールBMPファイルの編集は、通常のペイントソフトでOKです。

下記の画像Dでは、水面の絵の部分がグレーで塗られています。
グレーの度合いは、実際にFSでの表示を見ながら調整します。

部分的に透過率を設定 画像D

画像D

 

ステップ2:テクスチャにAlpha Channelを設定します

では、グレースケールのAlpha Channelが作成できたら、元のテクスチャファイル(画像A)に透過指定を行います。

 1:[ File ] - [ Load Nomal Image ] からテクスチャファイル(画像A)を読み込みます。

 2:[ Alpha ] - [ Import Alpha Channel ]から作成したAlpha Channel用のグレースケールファイルをインポートします。

Alpha Channelの設定

 

 2:[ File ] - [ Save Extended Image ]からDXT形式での保存を行います。

 3:保存するDXTフォーマットの種類を選択します。
  フォーマットはDXT1 with Alphaが一般的ですが、DXT3 with Alpha、DXT1 with Alpha(non-nVidia)などでもOKです。

僕の場合、DXT1 with AlphaではnVidiaエラーというのが出るので、DXT3で保存しています。
フォーマットごとに使用できるAlpha Channel(透過率設定)の数が違うようなので、Alpha Channelを多く設定する場合にはReadmeを読んで確認してみて下さい。また、DXT1(この場合non-nVidia)とDXT3では若干、FSでの表示が変わるようです。

フォーマットを選んで保存

 

ワンポイント1
DXT形式で保存する場合は、元のテクスチャファイル(画像A)は修正用にバックアップしておいて下さい。
(DXT形式に変換後、24bitイメージに戻すことはできますが、色が若干変わってしまうことがあります)

ワンポイント2
テクスチャを作成・確認する際に、絵を描きながらDXTbmpで透過指定をして・・・ という方法は少し手間がかかります。
透過面との境などを位置合わせする場合には、BMP2000で透過指定を行って確認したほうが手間は省けるかもしれません。

 

 

ちょっとだけよ〜

FSデータ作成情報へ

Home

DXTbmp Copyright(C), Martin Wright