本节说明如何访问或引用定义在包内的资源。
注意:包管理器不支持包中的流式资源。请改用Addressables包。
要引用定义在包内的资源,请使用此路径方案。
"Packages/<package-name>/..."
包内资源的路径以Packages/
开头,后跟包的名称(而不是显示名称)。
相比之下,您可以使用此方案访问项目资源。
"Assets/..."
例如,com.unity.images-library包的/Example/Images
子文件夹中image.png
文件的路径为:
"Packages/com.unity.images-library/Example/Images/image.png"
要获取Packages
文件夹中项目的绝对路径,您可以使用部分路径作为Path.GetFullPath()方法的参数。有关示例,请参阅解析绝对路径。
要加载存储在包内的纹理,请使用LoadAssetAtPath方法,该方法需要using UnityEditor
指令。在此示例中,指定遵循Packages/<package-name>/
路径方案的路径。
using UnityEditor;
// ...
Texture2D texture = (Texture2D)AssetDatabase.LoadAssetAtPath("Packages/com.unity.images-library/Example/Images/image.png", typeof(Texture2D));
要获取打包资源的绝对路径,请使用Path.GetFullPath()方法,该方法需要using System.IO
指令。例如:
using System.IO;
// ...
string absolute = Path.GetFullPath("Packages/com.unity.images-library/Example/Images/image.png");