Unityでglobパターンを使ってアセットを検索する方法についてまとめました。
Unity2020.2.7f1
globパターンでアセット検索ができるように
Unity2020からglobパターンを使ってアセットを検索できるようになりました。
今までファイルパスを記述して検索していた箇所で、glob:"[globパターン]"
というフォーマットで記述することで使用できます。
例えば下図のようにProjectビューの検索ウィンドウや、AssetDatabaseのAPIなどで使用できます。
ちなみに上図は「Exampleフォルダ及びそのサブフォルダ内のexample_から始まるすべてのPrefabを検索」するパターンです。
globパターンの書き方
Unityでサポートされているglobパターンの書き方は以下の通りです。
記号 | 説明 | 例 |
---|---|---|
* | 0個以上の文字に一致 ただしディレクトリ区切り記号(/)には一致しない |
glob:"Example/*.prefab" Example内のすべてのPrefabに一致 |
? | 一文字に一致 | glob:"Example/pfb_character_?.prefab" 以下のアセットに一致 ・Example/pfb_character_1.prefab ・Example/pfb_character_2.prefab 以下のアセットには一致しない ・Example/pfb_character_01.prefab |
[任意の2つ以上の文字] | いずれか一つの文字に一致 | glob:"Example/pfb_character_[123].prefab" 以下のアセットに一致 ・Example/pfb_character_1.prefab ・Example/pfb_character_2.prefab 以下のアセットには一致しない ・Example/pfb_character_01.prefab |
([パターン1]|[パターン2]) | いずれかのパターンに一致するものに一致 | glob:"(Example/*.prefab|Example2/*.prefab)" ExampleディレクトリあるいはExample2ディレクトリのすべてのPrefabに一致 |
** | あらゆるファイルや0個以上のディレクトリに一致 | glob:"Example/**.prefab" Exampleディレクトリおよびそのサブディレクトリ内のすべてのPrefabに一致 |