パフォーマンス改善のためにMeshを一体化してくれる無料アセットを試してみます。
MeshBakerはよく聞いたけど、無料のものが2つもあるとは知らなかった!
どっちも使ってみる。
題材
試すのはこの時作った東京駅のワールド
Batchesの数などを見る。視点によって変わる
最適化前:Batches:409、SetPass calls:153
後で気づいたけど、このオブジェクト既にマテリアルごとにメッシュ一体化してた
題材としてあんまり意味ないけど変わった。
あと奥にVRMモデル居たら、それもBatchesに含まれるのか。消したらBatches52に減った。
Simplest Mesh Baker
オブジェクトを右クリックでBakeMesh
マテリアルが違うやつは別のメッシュにするか。全部同じ色になっていいならYes
元のを残すか。
マテリアルごとにメッシュを分けないにすると、28個→6個にメッシュが減った。
全部同じメッシュなのになぜ1つにならないんだろう?
減った
最適化前:Batches:409、SetPass calls:153
最適化後:Batches:169、SetPass calls:62
マテリアルごとに別にするを選んだらこんな感じでいっぱいできた。
これでも減った
最適化前:Batches:409、SetPass calls:153
最適化後:Batches:231、SetPass calls:106
(マテリアル一つ:Batches:169、SetPass calls:62)
Mesh Baker Free
List Shaders In Sceneを押したら、処理が途中で止まってUnityEditorも止まった
やめた
比較
Simplest Mesh Bakerのメリット:セットアップが手軽
Simplest Mesh Bakerのデメリット:複数マテリアルを持っているオブジェクトは2つ目以降が消える。
Mesh Baker Freeのメリット:軽くなる(らしい。場合に寄りそう)
Mesh Baker Freeのデメリット:Unity標準シェーダーしか使えない
簡単に使えるというのは大事だと思いました。