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

AssetDatabase.AssetPathToGUID

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交的建议,但我们会阅读用户提出的每个建议性更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,您建议的更改无法提交。请在几分钟内<a>重试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static string AssetPathToGUID(string path);

声明

public static string AssetPathToGUID(string path, AssetPathToGUIDOptions options = AssetPathToGUIDOptions.IncludeRecentlyDeletedAssets);

参数

path 资源的文件系统路径。
options 指定此方法是否应返回最近删除资源的 GUID。默认值为 AssetPathToGUIDOptions.IncludeRecentlyDeletedAssets

返回

string GUID。

说明

获取 path 处资源的 GUID。

所有路径均相对于项目文件夹,例如:“Assets/MyTextures/hello.png”。

删除资源时,该资源的 GUID 仍保存在 Unity 的资源数据库中,直到关闭编辑器为止。因此,默认情况下,此方法仍会返回在 Unity Editor 当前会话中已删除资源的 GUID。

对于不存在且在当前编辑器会话中未删除的资源,此方法将返回空字符串。

如果您需要它为在当前编辑器会话中已删除的资源返回空字符串,请将 AssetPathToGUIDOptions.OnlyExistingAssets 值作为“options”参数传递。

using UnityEngine;
using UnityEditor;

public class Example : MonoBehaviour { [MenuItem("AssetDatabase/AssetPathToGUID")] static void Doit() { // texture.jpg exists or was recently deleted string t = AssetDatabase.AssetPathToGUID("Assets/texture.jpg"); Debug.Log(t); // t will be not null }

[MenuItem("AssetDatabase/AssetPathToGUID Existing Assets Only")] static void DoitExistingAssetsOnly() { // texture.jpg does not exist on disk string t = AssetDatabase.AssetPathToGUID("Assets/texture.jpg", AssetPathToGUIDOptions.OnlyExistingAssets); Debug.Log(t); // t will be null } }

请参阅 AssetDatabase.GUIDFromAssetPath,了解返回 UnityEditor.GUID(而不是字符串)的版本。