为资源创建新的唯一路径。
当您调用此方法时,Unity 会检查是否已存在具有您提供的匹配路径和文件名的资源。如果不存在,Unity 将返回您提供的相同字符串。如果已存在具有匹配路径和文件名的资源,Unity 会在文件名后面追加数字 1 并再次检查。它会继续递增此数字并再次检查,直到找到当前不存在的文件名,并返回带有该新唯一文件名的路径。
所有生成的路径都相对于项目文件夹,例如:“Assets/MyTextures/hello.png”。
using UnityEditor; using UnityEngine;
public class GenerateUniqueAssetPathExample : MonoBehaviour { [MenuItem("APIExamples/GenerateUniqueAssetPath")] static void GenerateUniqueAssetPathForFilesWithSameName() { for (int i = 0; i < 5; ++i) { //The file names that this should create are: // Assets/Artifacts/material.mat // Assets/Artifacts/material 1.mat // Assets/Artifacts/material 2.mat // Assets/Artifacts/material 3.mat // Assets/Artifacts/material 4.mat var uniqueFileName = AssetDatabase.GenerateUniqueAssetPath("Assets/Artifacts/material.mat");
Material material = new Material(Shader.Find("Specular")); AssetDatabase.CreateAsset(material, uniqueFileName); } } }