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(而不是字符串)的版本。