Version: 2021.3

AssetDatabase.GetImplicitAssetBundleVariantName

切换到手册
public static string GetImplicitAssetBundleVariantName (string assetPath);

参数

assetPath 资源的路径。

返回

string 返回给定资源所属的 AssetBundle 变体的名称。有关更多详细信息,请参阅此方法描述。

描述

返回给定资源所属的 AssetBundle 变体的名称。

如果资源已显式分配给 AssetBundle 变体,则返回该值。 如果资源不属于 AssetBundle 变体,则会遍历其父文件夹,直到找到属于 AssetBundle 变体的资源。如果找到与此条件匹配的文件夹,则返回其 AssetBundle 变体名称。如果未找到,则返回空字符串。

using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/Export Ground Textures")] static void ExportGroundTextures() { var groundTextures4k = new List<string>(); var groundTextures2k = new List<string>(); foreach (var guid in AssetDatabase.FindAssets("l:Ground", new []{"Assets/Textures"})) { var path = AssetDatabase.GUIDToAssetPath(guid); if(AssetDatabase.GetImplicitAssetBundleVariantName(path) == "4k") groundTextures4k.Add(path); else groundTextures2k.Add(path); } AssetDatabase.ExportPackage(groundTextures4k.ToArray(), "groundTextures4k.unitypackage"); AssetDatabase.ExportPackage(groundTextures2k.ToArray(), "groundTextures2k.unitypackage"); } }