AssetBundle的加载有以下几种方式
- 从内存加载LoadFromMemoryAsync
- 从本地文件加载LoadFromFile
- 从服务器上Web上加载UnityWbRequest
具体的使用
第一种加载方式(LoadFromMemoryAsync)从内存加载
public class AssetsBundleLoad : MonoBehaviour
{
private IEnumerator LoadBundle(string URL)
{
AssetBundleCreateRequest ret = AssetBundle.LoadFromMemoryAsync(File.ReadAllBytes(URL));
yield return ret;
AssetBundle bundle = ret.assetBundle;
//加载Bundle中全部的资源
Object[] objs = bundle.LoadAllAssets();
//加载Bundle中某个资源
Object obj = bundle.LoadAsset("Res");
}
}
第二种方式(UnityWebRequest)从本地加载
public class AssetsBundleLoad1 : MonoBehaviour
{
private IEnumerator LoadBundle(string URL)
{
UnityWebRequest request = UnityWebRequest.Get(URL);
yield return request.SendWebRequest();
AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(request);
//加载Bundle中全部的资源
Object[] objs = bundle.LoadAllAssets();
//加载Bundle中某个资源
Object obj = bundle.LoadAsset("Res");
}
}
第三种方式(LoadFromFile)从服务器或者本地加载
public class AssetsBundleLoad3 : MonoBehaviour
{
private IEnumerator LoadBundle(string URL)
{
AssetBundleCreateRequest request = AssetBundle.LoadFromFileAsync(URL);
yield return request;
AssetBundle bundle = request.assetBundle;
//加载Bundle中全部的资源
Object[] objs = bundle.LoadAllAssets();
//加载Bundle中某个资源
Object obj = bundle.LoadAsset("Res");
}
}
本文介绍了Unity中AssetBundle的三种加载方式:LoadFromMemoryAsync从内存加载,UnityWebRequest从本地或服务器加载,以及LoadFromFile从本地文件加载。示例代码展示了如何加载AssetBundle以及获取其中的资源。
2639

被折叠的 条评论
为什么被折叠?



