微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

【Unity】由Unity资源的相对路径获取资源的AssetDatabase路径

由Unity资源的相对路径获取资源的AssetDatabase路径,仅用于编辑器。代码如下:

/// <summary>
/// 由Unity资源的相对路径获取资源的AssetDatabase路径。
/// 仅用于编辑器。
/// </summary>
/// <param name="assetRelativePath">Unity资源文件的相对路径。</param>
/// <param name="callerFilePath">请勿传入此参数。</param>
/// <returns></returns>
public static string GetAssetDatabasePathFromrelativePath(string assetRelativePath, [System.Runtime.CompilerServices.CallerFilePath] string callerFilePath = null)
{
#if !UNITY_EDITOR
    throw new System.NotSupportedException("Not supported for non Editor mode.");
#endif
 
    var callerDirectoryPath = System.IO.Path.GetDirectoryName(callerFilePath);
    var unityAssetRelativePath = System.IO.Path.Combine(callerDirectoryPath, assetRelativePath);
    var unityAssetAbsolutePath = System.IO.Path.GetFullPath(unityAssetRelativePath);
    var unityAssetEditorPath = $"Assets/{unityAssetAbsolutePath.Replace("\\", "/").Replace(Application.dataPath, null)}";
    return unityAssetEditorPath;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐