透明テクスチャーの使用方法

Kawauso Works 技術班著

第1章:ビットマップテクスチャーの準備

はじめに

CFSでは透明/半透明ビットマップを利用することが可能で、デフォルトでは背景用のテクスチャーや爆発時の火炎などに応用されています。透明/半透明ビットマップは拡張ビットマップフォーマットという色情報に透明度の記述を付加したフォーマットを使用しています。

拡張ビットマップは機体のテクスチャーにも適応が可能で、キャノピーや高速回転中のプロペラへの応用が考えられるのですが、一般的なグラフィックソフトではこの拡張ビットマップを書き出すことができず、また AF99 で作成されたアドオン機体のモデルファイルには、拡張ビットマップを扱うためのバイナリーコードが含まれていないため、これまでは使用できませんでした。

今回 Neil Park 氏と Roger Lowery 氏が拡張テクスチャーのフォーマットと、アドオン機体で透明/半透明テクスチャーを扱う方法を解析され、幸運にもその方法を教えていただくことができましたので、拙作の晴嵐を実例に使用方法を解説したいと思います。

ビットマップテクスチャーの準備

アドオン機体で透明/半透明テクスチャーを使用するためにはビットマップフォーマットのテクスチャーを使用する必要があります。通常、アドオン機体は AF フォーマットというテクスチャーを使用していますので最初に BMP フォーマットに変換してください。

私が AF フォーマット→ BMP フォーマット変換に使用しているのが CTXUMDL.EXE というユーティリティーです。Combat Flight Simulator France からダウンロードしていただけますので入手してください。CTXUMDL.EXE の使い方は今回のチュートリアルの主題から外れますので、割愛させていただきます。変換が成功すると texture フォルダに AF ファイルと同じ数だけ BMP ファイルが出来上がります。変換がすんだら一応、フリーフライトモードで確認をしてください。

パレットの編集

続いてテクスチャーの透明度設定を行います。変換されたテクスチャーは256色パレットの BMP フォーマットになっていて、パレットごとに透明から不透明まで256段階の透明度を設定するこができます。透明度の設定のためには CFSBMP.EXE というユーティリティーを使用します。Simviation からダウンロードできますので入手してください。

CFSBMP.EXE を起動したら Load Any Image ボタンを押して、透明度を設定するテクスチャーをロードしてください。下の画面は晴嵐のプロペラ用テクスチャーを読み込んだ画面です。このテクスチャーで黒くマスクされている部分を透明に、茶色(プロペラブレード)と赤(プロペラ先端)を25%透過に設定してみます。

Transparency ボタンを押すとパレットの編集画面になります。パレット一覧から黒を選んで透明度を0に、茶色と赤を透明度64(25%透過)に設定します。パレット画面で特定の色を指定するのは難しいので、近い色をすべて選択しておきましょう。今回の例であれば、パレットの上半分をすべて透明度64に設定しました。設定したら Save Palette ボタンをおして、透明度の設定を確定してください。確定したら Exit ボタンを押してパレット編集画面を終了します。

パレット編集を終了したらビットマップを保存します。Save Extended Format Bitmap ボタンを押して、透過情報つきの拡張ビットマップとして保存してください。保存後はファイルサイズが約87KBに増加していますので確認しておきましょう。

続き:機体モデルの書き換え