Unity AssetStoreまとめ

Unityアセットストアで注目すべきイチオシ情報を毎日お届けします!

【最適化】「Mesh Combine Studio」エディタ中(静的) / リアルタイム(動的)にメッシュを結合するエディタ Vol.2

スポンサーリンク

今日のパブリッシャーセール

 

  • Mesh Combine Studio
    • セルベースで自動的にメッシュを結合する最新の最適化エディタ。
      • $48.60 => $24.30    50%OFF    【開催期間】2017年10月25日〜不明(期間限定)

 

お知らせ

前回に引き続き、遅くなりましたが続編記事です。

このネタに飽きてる方すみませんがもう少しお付き合いください。

セールの紹介は、凄いアセットが出て来たら即更新してお伝えします。

 

セール終了日が近いアセットのお知らせ1

昨日のShadero Spriteは11月5日まで(今日か明日)

 

セール終了日が近いアセットのお知らせ2

「teliotrewohs」さんからセールの情報を頂きました。ありがとうございます!

・HQなホラー系3Dモデル($11.88〜$16.20   75%OFF)8種類がそろそろ終了予定。

 詳しくはこちら↓

・魔法を前方に飛ばせる大人気パーティクル

 「Magic Arsenal」が11月11日まで50%OFF 前回セール記事はこちら

 

 


 

 

f:id:assetsale:20171105031659j:plain

f:id:assetsale:20171102091620j:plain

Mesh Combine Studio

スクリプト / モデリング

Nathaniel Doldersum

$48.60 => $24.30    50%OFF    【開催期間】2017年10月25日〜不明(期間限定)

 

自動セルベースのメッシュ結合型エディタで、負荷の掛かるゲームのパフォーマンスを大幅に向上させることができる最適化ツールです。

 

※どのプラットフォームにも使用できます。

 

今回は追加情報をお送りします。

 

このアセットを初めて知った方は、まずはこちらからご覧ください。

1.2017年11月2日に初めて紹介しました。

 2.実際に使って見た記事(エディタの各部について)

 

 今日のメニュー

  • 最適化が有効なシーン
  • セルベースの仕組み
  • 結合したオブジェクトを観察
  • オクルージョンカリングが使えるか
  • Dungeon Architectのシーンで試してみた
  • コライダーの扱い
  • まとめ

 


 

最適化が有効なシーンとは?

 

効果的な例

  • マップが広くて3Dモデルが大量にあるシーン(キャラクターが歩き回るような)
  • Dungeon Architect」など実行中に動的に生成されるマップや建造物を軽くしたい
  • 壁や床などstatic設定(固定された背景モデル)が複数ある

 

効果が得られない例

  • オブジェクト数が少ない
  • 2Dゲーム
  • 同一のマテリアルを持つオブジェクトが少ない

  


 

セルベースの仕組み

 

Mesh Combine Studioは、自動セルベースのメッシュコンバイナであり、ゲームのパフォーマンスを大幅に向上させることができます。どのプラットフォームのゲームでも使用できます。

 

Mesh Combine Studioの特徴は「セルベース」で最適化をかけてくれることです。

前回サラッとお伝えしましたが、今回はもう少し掘り下げて紹介します。

f:id:assetsale:20171105021433j:plain

赤矢印の項目「Cell Size」はとても大切な項目で、マップの広さに合わせて分割数をきめます。 

 適当にCube(かなり大きな)を配置しただけのシンプルなシーンです。

  1. 緑色のエリアはデフォルトでも広大ですが、広さが足りなければスケーリングでマップがすっぽり入るように準備します。(もしくは最適化用のPrefabを複数配置してもよさげ)
  2. 「Output Settings」の「Cell Size」で分割数を決めます。
  3. サイズはコレがベストって値は無くて、実行して最適な値を見つける作業になると思います。
  4. オクルージョンカリングを発揮させたい場合は、カリングで決めたセルのサイズと同程度の分割数にすると良さそう。

 


 

結合したオブジェクトを観察

結果がどうなってるか気になる方の為に動画を用意しました。

f:id:assetsale:20171105070221j:plain

 

セルサイズは32辺りを指定しており分割数はちょっと多めな指定です。

最適化前はもっとバラバラで大量のオブジェクトでしたが、かなり数が少なくなりました。

マテリアルが同じものを結合対象にしているみたいです。

 https://twitter.com/AssetLove/status/926836518844473347https://twitter.com/AssetLove/status/926836518844473347

 

https://twitter.com/AssetLove/status/926836518844473347

 


 

オクルージョンカリングを試した

 

カメラで映ってる部分以外は非表示にするUnity標準のカリング機能。

少しだけ試した結果報告です。

ドローコールは大幅に削減されるだけでなく、MCSはメッシュをセルに結合するため、カリングのパフォーマンスも大幅に向上します。少ないオブジェクトを選択してzソートする必要があります。

 

エディタモード中にセルを結合して、オクルージョンカリングでベイク。

ビジュアルモードで確認するとこのような感じにカリングされます。

ちなみに、

「静的」に生成した場合はオクルージョンカリングができますが、

「動的」に生成した場合はカリングがベイクできないので使えないと思います。

 

動的とは、実行中にメッシュを結合する機能の事で、 第一回目の記事で紹介しました。

RunTimeモードの事です。

f:id:assetsale:20171103114704j:plain


 


 

Dungeon Architectのシーンで試してみた

 

作者さんが一番オススメする環境を取り急ぎ作って用意しました。

 

使用アセット

ライトマップ焼き込み中のキャプチャです。時間短縮のためご理解ください。

 

最適化前

※動画クリックで一時停止できます。ブログが重たい時などに。

 ↑ FPS 29〜56  /  Baches 200〜300 / Saved by baches 6000 / SetPass Calls 65

 ↓ FPS 80〜89  /  Baches 230〜370 / Saved by baches 2 / SetPass Calls 68

最適化後

FPSは改善しましたが、BachesとSetPass Callsが微妙に高くなるモヤモヤ感。

フォーラムの投稿では低くなる結果が出ていますし、私が何か見落としてるかも。

原因さえわかれば、さらに高速化できそうな感じがしますね。

 

※ライトマップを焼いてる最中にキャプチャした動画なので重たいです。

※オクルージョンカリングは両方とも設定してません。

※正確に検証するため、クオリティ設定の「V Sync Count」を「Don't Sync」に指定しています。試し終えたらちゃんと元に戻しましょう。

f:id:assetsale:20171105064631j:plain

 

 


 

 

コライダーの扱い

https://twitter.com/AssetLove/status/926852324898758656

オプションでAdd Mesh Collidersにチェックを入れてから生成すると

MeshColliderが出力されます。MeshColliderの負荷が気になる方は元オブジェクトのコライダーをそのまま流用すればOKかなと思います。

f:id:assetsale:20171105064333j:plain

f:id:assetsale:20171105064341j:plain

2つのCubeを結合するとColliderがMesh Colliderに変わる。

 


 

まとめ

  • 次回はもっと豪華なデモシーンで試してみたい
  • 「Baches」と「SetPass Calls」が増えるのが気になる。
  • カリングした際のFPS撮るの忘れた。
  • 他の最適化エディタと比べてみる?
  • 「コレ試して欲しい」などあればコメントください。