Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

AssetDatabase.FindAssets

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public static function FindAssets(filter: string): string[];
public static string[] FindAssets(string filter);
public static function FindAssets(filter: string, searchInFolders: string[]): string[];
public static string[] FindAssets(string filter, string[] searchInFolders);

パラメーター

filter フィルタリングの文字列には、名称、アセットのラベル、そしてタイプ(クラス名)が使えます。
searchInFolders フォルダーを1つ以上指定すると、検索をそのフォルダーと子フォルダーに限定します(全アセットを検索するよりも早くなります)。

戻り値

string[] 検索でヒットしたアセットGUIDの配列

説明

フィルター検索の文字列を使ってアセットデータベースを検索します。

You can search for names, lables and types (classnames).


'name': filter assets by their filename (without extension). Words separated by whitespace are treated as separate name searches. Use quotes for grouping multiple words into a single search.


'labels': Use the keyword 'l'. Filtering by more than one label will return assets if just one asset label is matched (OR'ed)


'types': キーワード `t` を使います。 1 つ以上のタイプを使ってフィルタリングすると、どれか一つと一致するアセットが返ります(OR'ed)。タイプには、 'Texture2D' などあらかじめ用意されているものか、ユーザースクリプトのクラス名のどちらかを指定することができます。アセットすべてが望みなら、 'Object' を使うと、すべてのオブジェクトからアセットが抽出されます。

検索では大文字と小文字は区別されません。

アセットのパスを取得するために、AssetDatabase.GUIDToAssetPath を使い、アセットを読み込む場合などは AssetDatabase.LoadAssetAtPath を使います。

@MenuItem("Test/FindAssetsUsingSearchFilter")
static function FindAssetsUsingSearchFilter ()
{
	// Find all assets labelled with 'concrete' :
	var guids = AssetDatabase.FindAssets ("l:concrete", null);
	for (var guid in guids)
		Debug.Log (AssetDatabase.GUIDToAssetPath(guid));

// Find all Texture2Ds that have 'co' in their filename, that are labelled with 'concrete' or 'architecture' and are placed in 'MyAwesomeProps' folder var guids2 = AssetDatabase.FindAssets ("co l:concrete l:architecture t:texture2D", ["Assets/MyAwesomeProps"]); for (var guid in guids2) Debug.Log (AssetDatabase.GUIDToAssetPath(guid)); }
using UnityEngine;
using UnityEditor;

public class Example {

[MenuItem("Test/FindAssetsUsingSearchFilter")] static void FindAssetsUsingSearchFilter() { // Find all assets labelled with 'concrete' : string[] guids = AssetDatabase.FindAssets ("l:concrete");

foreach (string guid in guids) { Debug.Log (AssetDatabase.GUIDToAssetPath(guid)); }

// Find all Texture2Ds that have 'co' in their filename, that are labelled with 'concrete' or 'architecture' and are placed in 'MyAwesomeProps' folder string[] lookFor = new string[] {"Assets/MyAwesomeProps"}; string[] guids2 = AssetDatabase.FindAssets ("co l:concrete l:architecture t:texture2D", lookFor);

foreach (string guid in guids2) { Debug.Log (AssetDatabase.GUIDToAssetPath(guid)); } } }