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

AssetDatabase.CopyAssets

建议修改

成功!

感谢您帮助我们改进Unity文档的质量。虽然我们无法采纳所有提交,但我们会阅读用户提出的每一项修改建议,并在适用的情况下进行更新。

关闭

提交失败

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

关闭

取消

声明

public static bool CopyAssets(string[] paths, string[] newPaths);

参数

paths 源资源的文件系统路径。
newPaths 要创建的新资源的文件系统路径。

返回值

bool 如果复制操作成功,则返回true;如果部分过程失败,则返回false。

描述

复制paths中的资源,并将它们存储在newPaths中。

所有路径相对于项目文件夹,例如:“Assetspathshello.png”。pathsnewPaths必须包含相同数量的项。

using UnityEngine;
using UnityEditor;

public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/Duplicate Materials")] static void DuplicateMaterials() { string[] sourcePaths = new [] { "Assets/Materials/CarMaterial.mat", "Assets/Materials/TruckMaterial", "Assets/Materials/BoatMaterial" }; string[] targetPaths = new [] { "Assets/Duplicates/Materials/CarMaterial_Dup.mat", "Assets/Duplicates/Materials/TruckMaterial_Dup", "Assets/Duplicates/Materials/BoatMaterial_Dup" }; if(!AssetDatabase.CopyAssets(sourcePaths, targetPaths)) Debug.LogWarning($"Failed to copy assets"); } }

在导入过程中(无论是正在处理的导入还是来自资源工作器的导入),您都不能使用此函数,因为它会导致在导入过程中创建新的资源。复制操作的任何错误和警告都会在日志和控制台中报告。