一、第一种加载方式本地相对路径资源加载
AssetBundle ab = AssetBundle.LoadFromFile("AssetBundle/sphere.unity3d"); // 本地加载相对路径加载 加载ab包
GameObject cube = ab.LoadAsset<GameObject>("Sphere"); // 获取AB包
Instantiate(cube); // 实例化
// 加载依赖关系
AssetBundle manifestAB = AssetBundle.LoadFromFile("AssetBundle/AssetBundle");
AssetBundleManifest manifest = manifestAB.LoadAsset<AssetBundleManifest>("AssetBundlemanifest");
string[] ependencies = manifest.GetAllDependencies("sphere.unity3d"); // 获取要加载文件的所有依赖关系
foreach (var item in ependencies)
{
string path = "AssetBundle/" + item;
AssetBundle.LoadFromFile(path);
}
二、内存资源加载
IEnumerator LoadAb(string path)
{
AssetBundleCreateRequest request = AssetBundle.LoadFromMemoryAsync(File.ReadAllBytes(path)); // 创建一个请求