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