使用するアセットのダウンロード
メッシュを結合するアセットは沢山あるけど、Mesh Bakerはメッシュとテクスチャを結合できて良い感じ。類似のアセットと比較しても軽い(気がする)
無料版と有料版($86.90)とあるけど無料版を試してから有料版を買ってもいいと思う。
ついでに結合するオブジェクトも用意しておく。
MeshBakerの使い方
メニューのGameObject→Creat Other→MeshBaker→好みの結合方法を選択。
今回はメッシュとテクスチャを結合したいから、TextureBaker and MeshBakerを選択。
TextureBaker(0)というオブジェクトがヒエラルキーの一番下に出てくるからこれを選択。
インスペクタ画面からOpen Tools For Adding Objectsを押す。
ツールが勝手に開くからSearch For Meshs To Addのタブを選択して、Exclude meshes with out-of-bounds UVs のチェックを外し、結合したいオブジェクトを選択した状態でAdd Selected Meshes To Targetボタンを押す。
結合するテクスチャ(マテリアルも)の保存先を指定。
次にテクスチャをどの様に結合するかの設定。今回はConsider Mesh Uvs にチェック。
テクスチャの結合はこれでおk。
確認して問題なかったら下の「Bake Materials into Combined Material」を押す。
ちなみに結合したテクスチャをライトベイクしたい場合は、generate_new_UV2_layoutを選択する。
あとは自動で結合してくれる。オブジェクトの数によって結合には時間がかかるし、メモリが足りないとエラーが起こりやすいから、事前にメモリ解放しておくといい。
成功した時はコンソールにCreated Atlasesのテキストが出る。
今度はメッシュを出力する。
TextureBaker(0)の中のMeshBakerオブジェクトがあるから、インスペクタの最下部のBakeを押して、結合したオブジェクトを出力。
MeshBaker-mesh-meshというオブジェクトが出てれば出力成功。
結合するものが多ければ多いほど、マテリアルの色味が変わってくるので、最後に確認して良い感じの色味に調整した方がいい。
最後はメッシュコライダーを追加すれば出来上がり。
結合前と見比べると、Batch数とSetPass calls値が半分以下になってる。今回結合したアセット自体も特に重い訳ではなかったけど、メッシュの多いアセットやステージでは体感的にも動作が軽くなるのでMeshBakerはめっちゃ良い。
さいごに
慣れるまでエラーが出る事も多いかもしれないけど、グラフィックパフォーマンスの最適化には必須な事だし、扱うオブジェクトが少なくなるのは便利。メッシュ結合のアセットの中でもMeshBakerは自由度も高いのでオススメ。