Qubicleで書き出したデータをUnityで大量に配置してみる
最近はサッカーゲームを作っていまして、ゲーム内に配置するオブジェクトは、主にQubicleというボクセル制作ソフトで作ってからUnityに配置しようと考えています。
上記のキャラはテスト用に作った観客のボクセルなのですが、これを出来れば千体くらいスタジアムの観客席に配置できればと考えていまして、どれくらいの負荷がかかるのか調べる為に4パターンの配置方法を試してStatsの内容を比べてみました。
下記はQubicle2.5でのCollada DAE書き出し画面です。(データ書き出しは有料版を購入する必要があるみたいです。)
この設定でDAEファイルを書き出しました。
Optimization設定は「Non-Manifold」が一番ポリゴン数が少ないです。
書き出しは下記の記事を参考にさせていただきました。
・【Qubicle】Unityへエクスポートする時の詳細設定
【パターンA】
QubicleでMatrixを1体書き出して、Unityに配置し、12体並べた時と144体並べた時のStatsを出してみる。
【パターンB】
QubicleでMatrixを3体別々書き出して、Unityに配置。
この時のポイントは3体別々に書き出したので、マテリアルも3つ作られているところです。
【パターンC】
QubicleでMatrixを12体まとめて書き出して、Unityに配置。
この場合、1つのマテリアルに12体分まとめられています。
Unityで読み込むとGameObjectが12個分作られていました。(マテリアルは1つ)
【パターンD】
Qubicleで1つのMatrixの中にキャラを12体入れて書き出して、Unityに配置。
この場合も、1つのマテリアルに12体分まとめられ、12体が1つのGameObjectにまとめられます。
まとめ
12体 Batches |
Tris |
Verts |
144体 Batches |
Tris |
Verts |
|
---|---|---|---|---|---|---|
A | 4 | 4.3k | 10.2k | 6 | 32.8k | 67.3k |
B | 10 | 4.3k | 10.2k | 20 | 32.8k | 67.3k |
C | 4 | 4.3k | 10.2k | 6 | 32.8k | 67.3k |
D | 4 | 4.3k | 10.2k | 26 | 32.8k | 67.3k |
テストをやる前は「パターンD」が一番軽くなると予想していたのですが、Batchesの回数が多いですね。。何が原因なんでしょう?
結果からすると、QubicleのMatrix1体を大量配置する場合は「パターンA」でもいいけど、複数のMatrixを大量配置する場合は「パターンC」がマテリアルがまとめられる分だけBatchesが少なくて済むようです。
他に良い方法をお知りの方がいましたらコメントいただけると助かります!