Version: 2021.2
public static string ExtractAsset (Object asset, string newPath);

参数

asset 要提取的子资源。
newPath 新资源的文件路径。

返回

string 如果 Unity 已成功提取资源,则返回一个空字符串;否则,返回一条错误消息。

描述

通过在导入资源(例如,FBX 文件)中提取外部资源,在对象(例如,材质)中创建此资源。

注意:此功能目前仅适用于模型资源中嵌入的材质。

所有文件路径均是相对于项目文件夹的路径。例如:"Assets/Materials/myMaterial.mat"。

资源为“null”时,此方法将抛出 ArgumentNullException,文件路径为“null 或空”时,将抛出 ArgumentException

using UnityEngine;
using UnityEditor;

public class Extractor { public static void ExtractFromAsset(Object subAsset, string destinationPath) { string assetPath = AssetDatabase.GetAssetPath(subAsset);

AssetDatabase.ExtractAsset(subAsset, destinationPath);

AssetDatabase.WriteImportSettingsIfDirty(assetPath); AssetDatabase.ImportAsset(assetPath, ImportAssetOptions.ForceUpdate); } }