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

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

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

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

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

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

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

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

キャラモデルの表示パフォーマンスを測定するにはどうすればいいでしょうか

EF-12のツールでパフォーマンスを直接スコアリングする機能を持つものはありません。なのでFoolviewerで相対的に測定する方法を推奨します。

図のようにまずFoolViewerで標準キャラモデルを「あなたのPCで60fpsになるまで」キャラの表示数を増やしていきます。この状態のままキャラモデルをあなたの作成したモデルに切り替えると標準キャラと比較したパフォーマンスが比較的にわかります。
標準キャラはかなり最適化されて軽いので同じfpsを出すのは難しいと思いますが、できるだけこれに近づくよう目指しましょう。目標は50以上、重いモデルでも45くらいに抑えるようにしてください。

(なおキャラ1体のfpsで比較も出来ますが、FPSの測定基準がバラバラだと互いの情報交換の際に困るので上記方法を推奨しています)

グロステクスチャの使い方(効果)がよくわかりません

以下にグロステクスチャの色変化による見た目の変化の図を載せたので参考にしてください(※グロステクスチャはDXT5-NM形式でRとGのみ有効なのでRとGのみの例になっています)

概念としては「Rで光らせたものをGのマスクでコントロール」するような使い方になります。したがって光り具合のコントロールにはGが強く影響します。

↓画像をクリックするとフルサイズの画像を確認できます

【FAQ】ビューアーで表示したところ一部のポリゴンが欠けてしまいます

ポリゴン欠けの原因には主に以下の2つの原因があります。

1.
ウエイトが5つ以上のデフォーマに割り当てられている・・・1“ポリゴン(頂点ではありません)”に割り当てできる最大ウエイト(インフルエンス)数は4です※最大割り当てウエイト制限が“頂点あたり”でなく“ポリゴンあたり”になっている点がよく間違えられるのでご注意ください

2.
意図しないデフォーマにウエイトが割り当てられている・・・たとえば右足の頂点を左足のデフォーマにも割り当てたりすると頂点が引っ張られ、結果裏返って見えなくなる場合があります。

【重要】原因が1の場合はコンバータ側で意図して当該ポリゴンを消しています。なぜかというと「微妙な誤差で少しだけポリゴンの境目が割れていると気が付かない」からです。少しでもウエイトに不正があった場合は視認できるようにポリゴン自体を非表示としています。CGツールでは「表示上の値」と「実際に内部で保持している値」が違うということが頻繁に起こるのでご注意ください。例えばMAYAやSoftimageでは表示桁数を増やすようなオプションがありますのでそれらの機能も利用してデータのチェックをしてください。

またコンバータは5つ目以上のウエイトを自動的に小さい値から切っていき、4つに収めるように動作しています。上記の誤差との両方の理由で「合計値が100にならず、足りない分がおかしなウエイトになる」という症状もよく発生します。その場合は手動できっちり100になるように数値を入れなおしてください。