この記事でのバージョン
Unity 2019.4.17f1
はじめに
指定したマテリアルが付いてるレンダラーの検索や、検索したレンダラーの
マテリアルを置換する事も可能なエディタ拡張を作ったので、今回はそれの紹介記事です!
イメージとしては以下のような感じ。
用途としてはPrefab化し忘れたオブジェクトのMaterialを一括で置換したり、
違うオブジェクト(Prefab)に付いている同じMaterialを一括で置換したい時などに使えます。
なお、記事中では以下のアセットを使っています。
Village Environment Pack | 3D Historic | Unity Asset Store |
MaterialSearcher
さっそくですが指定したマテリアルが付いてるレンダラーの検索や置換をするエディタ拡張
であるMaterialSearcherのコードです。
上記のスクリプトをEditorフォルダに入れると上部のメニューに
Tools/Open/MaterialSearcherが表示されるのでこれを押すとウィンドウが表示されます。
そしてそのウィンドウにある「検索対象のMaterial」に検索したいマテリアルを設定し、
検索ボタンを押すと対象のマテリアルが付いているレンダラーを一覧表示出来ます。
ちなみにそのレンダラーの名前のボタンを押すとHierarchy上で選択する事も可能です。
置換したい場合は同じ要領で「置換対象のMaterial」に
置換したいマテリアルを設定し、置換ボタンを押すだけ。
例えば窓や街灯に使われているマテリアルを暗い物から明るい物に変えてみると以下のような感じに。