版本:Unity 6 (6000.0)
语言英语
  • C#

AssetDatabase.GetImplicitAssetBundleVariantName

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们确实会阅读用户提出的每项建议,并在必要时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您花时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

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"); } }