プロジェクト内のアセットを、ラベルを併用して探す方法について紹介します。
シーンのオブジェクトにアセットを設定する
Unity上では、多くのケースでプロジェクトビューからドラッグ&ドロップでファイルを登録します。
例えば、AnimatorにAnimationControllerを登録したいならば、プロジェクトビューからAnimationControllerをドラッグ&ドロップすれば、指定のオブジェクトにアセットが登録完了です。非常にシンプル。
検索ウィンドウから設定するアプローチ
さて、実際にはもう一通り、設定項目の右から選択用ウィンドウを開いて設定する…といった方法も実際には存在します。
コチラの方法では、最初から設定したいアセットの型に絞り込まれている点で便利です。また、オブジェクトを選択する際に誤ってクリックしてInspectorを切り替えてしまうといった事もありません。
この一見便利そうに見える機能ですが、実際の所この機能を使用している人を余り見ていません。
この理由は、アセットの見つけやすさじゃないかなと個人的に考えています。
似たようなファイル名がたくさんある事は、稀によくある
ファイル名で絞り込む場合でも、似たようなファイル名で構築されている事はよくあります。例えばアニメーションデータです。
アセットストア等から入手するキャラクターのアニメーションデータには、多くの場合「Run」や「Idle」といった非常に分かりやすい名称が設定されていることが多いです。もしくは「Default」
もうお分かりでしょう。ファイル名一覧で表示すると、検索ウィンドウには同名のアセットが大量に表示されてしまうのです。
SpriteやModelのようにプレビュー出来る項目であれば致命的な問題にならないかもしれません。ただAnimationClipやScriptableObjectといったプレビュー出来ない項目の場合、面倒な問題です。
一応、下にアセットのパスが表示されるのでソレを確認することである程度の把握は可能です。
ただ、理想を言えば一発で指定のアセットのみに絞りこめるようなモノが望ましいです。
ラベルを使用する
以前出来なかった事が出来るようになっていました。
検索ウィンドウにラベルを使用することです。
今まではプロジェクトビューでしか使うことが出来ない機能でしたが、何時の間にか使えるようになっていました。ふっきゅんきゅん
アセットの検索では名前と種類以外に、ラベル( Labels ) で検索することもできます。ラベルとは、特定のアセットをグルーピングするために使用する短いテキストです。
使い方
まずアセットにラベルを設定しておきます。例えばキャラクター名や使うシーン、親フォルダなど。一つでも良いですし、複数でも良いです。一つの場合は絞り込みが楽になりますし、複数の場合は管理が楽になります。
重要なのは、FBXやTimelineなど階層構造が設定されているアセットの子は、親に設定したラベルを使用する・・・という点です。
あとは検索します。
通常の名前での絞り込みに加えて、「l:ラベル名」で追加で絞り込むことが可能です。
この時、ラベルの一部入力でも効果を発揮します。例えば下の場合「kohaku」というラベルを持つアセットを検索していますが、「l:koh」だけでも絞り込み出来ています。
上手く使えばアセットをサクサク絞り込めて便利です。
注意点
ヤッタネ!だけで終わらないのがなんとやら。幾つか注意すべき問題があります。
まずラベルですが、基本的にAnd検索は出来ません。正確には、他の要素とのAND検索は可能なのですが、ラベルを複数用いた場合にはAND検索になります。
つまり「l:SD l:kohaku」のような絞り込みの場合「SDかつkohakuのラベルを持つアセット」ではなく「SDもしくはkohakuのラベルを持つアセット」が見つかります。解せぬ。
また、ラベルで検索する際に文字の全文を打つ必要はありませんが、大文字小文字は判断されます。
最後に、ラベルはメタデータに情報を書き込んでいます。つまりバージョン管理している場合はコンフリクトする事があるので、ラベルを設定するときはアセットを入れた人が行うか、一括で処理することをおすすめします。
感想
ラベル、便利なんですけどね…
関連
ラベルの運用はココで紹介されてる資料で紹介しました
プロジェクトビューなら、ラベルの絞り込み&ファイル名の絞り込みに追加で、フォルダでの絞り込みも完備。検索ビューの存在価値とは一体うごごごご
tsubakit1.hateblo.jpラベルの管理方法。昔は複数設定ですら満足に出来なかった