Blender 2.82
症状
アニメーション再生時、似たような作りの他モデルでは30FPSくらい出ていたのに特定のモデルだけ5FPSしか出ない事があった。
原因を勘で調べたところ、以下の条件を満たすモデルの場合アニメーションの再生が重くなるようだった。
- Subdivision Surfaceモディファイアを使用している
- モデルに5角形以上のポリゴンが存在する
5角形以上のポリゴンの存在を調べるには、3DビューからSelect> Select All by Trait> Fases by Sidesを選択し、Number of Verticlesを5にする。
備考
原因を勘で調べたときの思考メモ
- とりあえずモディファイアのON/OFFをしてみて、Subdivision SurfaceをOFFにしたら改善した
- 他のモデルはSubdivision SurfaceがONでもそこまで重くならない
- メッシュを分割するモディファイアなのだから、モデルのメッシュ構造が変なのでは?
- モデルのメッシュをパーツごとに消してアニメーション再生を繰り返すと口周りのメッシュを消したときだけFPSが改善した
- 特定のポリゴンを消したときにFPSが改善することがわかった
- たしか多角形ポリゴンはなんか悪さするみたいな話を聞いた気がする
- 5角形以上のポリゴンかどうか確認してみたら案の定アタリだった
多角形ポリゴンを修正してるときに、5角形じゃなくてもFPS下がる可能性に気付いた。
立体として破綻してるメッシュのつなぎ方をしてもFPS下がるかも。