(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]



シーン上のモデルを検索しポリゴン数が多い順に表示するエディタ拡張【Unity】【エディタ拡張】


このエントリーをはてなブックマークに追加




この記事でのバージョン
Unity 2018.4.23f1


はじめに

UnityはGame Viewの右上にあるStatsを押すことで

現在カメラに映っている範囲でのポリゴン数(Tris)等を表示する事が出来ますが、

f:id:kan_kikuchi:20200604181808j:plain


残念ながら映ってない所のポリゴン数の合計だったり、

そもそもどのモデルのポリゴン数が多いのかみたいなのは表示されません。


そこでシーン上のモデルを検索しポリゴン数が多い順に表示するエディタ拡張を作ってみました。

イメージとしては以下のような感じ。

f:id:kan_kikuchi:20200604182628g:plain:w640


なお、記事中では以下のアセットを使っています。

Japanese Apartment | 3D Environments | Unity Asset Store
Fennec | 3D Animals | Unity Asset Store
Animals - Simon the Raccoon | 3D Animals | Unity Asset Store



PolygonsSearcher

さっそくですがシーン上のモデルを検索しポリゴン数が多い順に表示するエディタ拡張である

PolygonsSearcherのコードです。



PolygonsSearcherを作成すると上部メニューにTools/Open/Polygons Searcherという項目が追加され、

これを押すとウィンドウを開けるようになります。

f:id:kan_kikuchi:20200604180248j:plain


後はこのウィンドウの検索というボタンを押すだけで、

シーン上のモデルを検索しポリゴン数が多い順に表示してくれます。

なお、検索対象はアクティブなMesh Renderer(というよりMeshFilter)とSkinnedMeshRendererです。

f:id:kan_kikuchi:20200604180448j:plain


試しにアライグマとフェネックがいる家のようなシーンで検索してみると、

f:id:kan_kikuchi:20200604181315j:plain


以下のような感じに。

f:id:kan_kikuchi:20200604180545j:plain


なお、同じメッシュを使ってるものはまとめて表示してあります。例えば今回の例ですと、

curtain01(カーテン)というメッシュが1236ポリゴンあり、

それが8個あるので計9888ポリゴンあるという事になります。

f:id:kan_kikuchi:20200604180956j:plain


また、各ボタンを押すと

そのメッシュを持っているオブジェクトをHierarchy上で選択する事も可能です。。

f:id:kan_kikuchi:20200604182628g:plain:w640