モデル(.dae)のコンバートにものすごく時間がかかります。高速化する方法はありますか?

このエントリーをはてなブックマークに追加
はてなブックマーク - モデル(.dae)のコンバートにものすごく時間がかかります。高速化する方法はありますか?
Share on Facebook
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
モデル(.dae)のコンバートにものすごく時間がかかります。高速化する方法はありますか?Project [ EF-12 ]

①パフォーマンスを犠牲にしないベストな高速化方法
以下はモデルの内容とコンバート時間の調査結果のグラフです。

このグラフから以下のことがわかります。
・ポリゴン数に比例して時間がかかる
・ウエイトを適用しているデフォーマ数に比例して時間がかかる
→ポリゴン数×デフォーマ数でさらに時間がかかる(正比例でない)
・シェーダー(テクスチャ)はほとんど関係ない

骨の数は指や顔を除くと削減の余地があまりありません。そうなると必然的に
・ポリゴン数を減らす
・ポリゴン数を減らしたことがわからないテクスチャの使い方をする
この2点が重要であるという結論が導きだされます。

②ゲーム中のパフォーマンスを多少犠牲にして高速化する方法
①の高速化方法は作業にそれなりの時間がかかります。またそもそも2万オーバーのポリゴン数であった場合、効果はどうしても薄くなります。手早く成果が得られるのが②の方法です。

以下は「ほぼ同じポリゴン数で構造の異なる状態でのコンバート時間比較」です。

daeからfmdlにコンバートする際は「オブジェクト内の各頂点を総当たりでチェック」していきます。ゆえに1オブジェクト内のポリゴン数が多いほどネズミ算式にコンバート時間がかかります。
逆に言えば「1オブジェクトあたりのポリゴン数が少なければコンバート時間は著しく短縮」されます。モデルを分割しましょう。ゲームパフォーマンス的にはマテリアル数が増えるのでCPU負荷が増大しますが、そもそも格闘ゲームは画面内のオブジェクト数がそれほど多くないこと、EF-12はCPUよりもGPUの負荷が高いことを考えると、多少パフォーマンスを犠牲にしてもコンバート時間が半分以下になる方法を選択するのは一考の価値があります。

この図のように、デフォーマ数が均等になるように、かつ切り分けやすい部分でオブジェクトを分割するといいでしょう。

Comments are closed.