KantanBay BVE Memo

かんたんのゆめのBVE関係の更新情報・製作メモ

ストラクチャの画像をDDSフォーマットにしてシナリオを軽くする

 DDS is なんやねんは以下のサイトあたりを

sites.google.com


要するに3Dゲーム用の画像フォーマットで、これを使うといろいろあってPNGBMPを使うよりPCの負担が軽くなるというもの。

 

initg.blog.fc2.com

こちらのサイトでそう言えばBVE5ってDDS対応してたなぁということを思い出してちょっとテストしてみる。

 

超重量級の某路線の画像をDDS変換してみた

f:id:ntfiv:20161207234406p:plain

こうかはばつぐんだ!
FPSも変換前に比べると割と安定している

 

簡単な変換の仕方

シナリオに使用しているストラクチャがすべてテキスト形式のXファイルであれば、簡単にDDS変換した画像をBVEで使えるように出来る。
(バイナリ形式が混ざっている場合は△ そのファイルについてはDDS画像を使えない)

 

手順

0.該当シナリオのストラクチャフォルダをコピーしてバックアップする

1.画像をDDSへ変換する
DDS変換アプリケーション「NvcompressFrontEnd」を使う

ch.nicovideo.jp

f:id:ntfiv:20161207234413p:plain

ストラクチャのフォルダをそのままこのソフトにドロップすれば自動的に登録される
出力対応形式はよくわからなければDXT5で固定
変換を押すとファイルの変換が始まるので終わるまで待つ そこそこ時間は掛かる

2.ストラクチャ内の画像指定をDDSファイルに書き直す
テキストファイルの中身を検索置換できるソフトを使って、ストラクチャXファイル.bmp/.png指定の場所をすべて.ddsへと書き換える。次がEmEditorでの設定例。

f:id:ntfiv:20161207234421p:plain

 

あとはBVEで読み込めばOK

 

その他メモ

○DXTは1~5まであるが実際は1・3・5をよく使うそう
 それぞれ特徴があり本来は使い分けると良い
 ・DXT1:アルファチャンネルを使用していないpng用 その分軽い
 ・DXT1a:透過or不透過のみを認識 とにかく雑に軽くしたい場合はこれ
 ・DXT3:透過、非透過の境界がはっきりしている画像用
 ・DXT5:透過、非透過の境界があいまいな画像用

 ○更に軽くしたい

 画質とか気にしないでとにかく軽くしたい場合は変換をDXT1aにすると良い

 DXT5で750MBだったテスト路線は更に620MBにまで落ちた
 ただし透過部分を中心にテクスチャがかなり微妙な感じにはなってくる

○運転台はダメっぽい
 一つの車両でしか試してないのでハッキリはしないがうまく読み込まなかった(BVEが固まる)

○MIP map
 BVE5では対応してない はず(詳細はググって)