学校シミュレーターはほぼほぼ完成して、後はモバイルの速度さえ十分でれば公開できるとこまで来ました。
skinnedMeshなキャラ50人ぐらい。
背景の3Dモデルは、SetPassCall80くらい。
スマホで15fpsぐらい。キャラが少ない校舎裏で20fpsぐらい。
動きが混んでくると10fpsぐらい。
いったい何に負荷がかかっているのか? プロファイラーを使うとプロファイラー自身の負荷でよく解らない。
仮説1)表示が重い
仮説2)CPUがパワーを食っている
キャラを8人ぐらいに減らすと、33fpsぐらい出る。
背景の3Dモデルは問題ない。問題なのは、キャラクター。
LODとして、距離15より遠い場合に、髪の毛、メガネを非表示にする。効果なし
LODとして、Animatorをfalseにする。効果なし
移動中は、NavMeshを止める。ゴールを見つける場合だけnavMeshをenableにする(その代わり、CharacterControllerに変更)。効果がない
移動をcharacterControllerを止める。
30fps超える!
お前か! お前が遅い犯人か!
真犯人=CharacterController(もしくはNavMeshAgent状態のtransform.positionの更新)