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