その1 Xファイルのバイナリ⇔テキスト変換ツール
Xファイルは3Dモデル情報を格納してDirect3Dで直ぐに読み込めるDirectX固有のフォーマットです。最近の3DモデリングツールにはXファイルをエクスポートしてくれるプラグインも揃ってきました。
例えばLightWeve3Dの場合、Xファイルをエクスポートするとテキストファイルとして出力されます。しかし、ゲームで扱う上ではバイナリの方が秘密性が高まります。うれしい事に、Direct3Dはテキストでもバイナリでもどちらの形式でも読んでくれるので、交互に交換できると何かとお得です。
そこで、バイナリ形式のXファイルとテキスト形式のそれを交互に変換できるツールを作成しました。
@ 使い方
Xファイルフォーマットコンバータはファイルからファイルへのコンバートです。例えばBox.xというキャラクタが入ったXファイルをバイナリ形式にしたい場合は、
Dix::convertXFileFormat( _T("Box.x"), T("ConvBox.x"), D3DXF_FILEFORMAT_BINARY );
とします。
圧縮形式(D3DXF_FILEFORMAT_COMPRESSED)にするとXファイルは非常にコンパクトになります。この形式は必ずバイナリもしくはテキストと併用して下さい:
Dix::convertXFileFormat( _T("Box.x"), T("ConvBox.x"), D3DXF_FILEFORMAT_TEXT | D3DXF_FILEFORMAT_COMPRESSED );
入力ファイル名は必須です。出力ファイル名をNULLにした場合、元のファイルが上書きされます。この時、個人的に追加したテンプレートなどはすべて消えてしまうので注意して下さい。ID3DXMeshが扱えるテンプレートのみの置換となります。
A バージョン情報
v1.01 (2009. 7. 22)
・ 引数Formatが反映されていなかったバグを修正
v1.00 初期バージョン