guids | 要检查的资源 GUID 数组。将返回数组中每个资源的导入器类型。 |
返回与指定资源数组关联的导入器类型,无需加载这些资源。
此方法是 AssetDatabase.GetImporterType 的批处理版本。如果您需要一次检查大量资源导入器,请使用此方法。注意:GUID 数组可以隐式转换为 ReadOnlySpan,请参阅示例以了解用法。
using UnityEngine; using UnityEditor;
public class AssetDatabaseExamples { [MenuItem("AssetDatabase/GetMatchingAssetTypes")] public static void GetMatchingAssetTypes() { var matchingAssets = AssetDatabase.FindAssets("Powerup"); GUID[] guids = new GUID[matchingAssets.Length];
for(int i = 0; i < guids.Length; ++i) { guids[i] = new GUID(matchingAssets[i]); }
var matchingTypes = AssetDatabase.GetImporterTypes(guids);
foreach (var curType in matchingTypes) { Debug.Log($"Importer type: {curType}"); } } }
paths | 要检查的资源路径数组。将返回数组中每个资源的导入器类型。 |
返回与指定资源数组关联的导入器类型,无需加载这些资源。
您提供的资源路径应相对于项目文件夹根目录。例如,“Assets/MyTextures/hello.png”。此方法是 AssetDatabase.GetImporterType 的批处理版本。如果您需要一次检查大量资源导入器,请使用此方法。
using UnityEngine; using UnityEditor;
public class AssetDatabaseExamples { [MenuItem("AssetDatabase/GetImporterTypeOfSelectedObjects")] public static void GetImporterTypeOfSelectedObjects() { var selectedObjects = Selection.objects; string[] paths = new string[selectedObjects.Length];
for (int i = 0; i < paths.Length; ++i) { paths[i] = AssetDatabase.GetAssetPath(selectedObjects[i]); }
var selectedObjectTypes = AssetDatabase.GetImporterTypes(paths);
foreach (var curType in selectedObjectTypes) { Debug.Log($"Importer type: {curType}"); } } }