《Unity3D游戏开发之加载和卸载资源包(AssetBundle)中的.docx》由会员分享,可在线阅读,更多相关《Unity3D游戏开发之加载和卸载资源包(AssetBundle)中的.docx(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Unity3D游戏开发之加载和卸载资源包(AssetBundle)中的对象Loading resources from AssetBundles加载和卸载资源包 (AssetBundle) 中的对象 使用下载的数据构建资源包 (AssetBundle) 对象后,可以使用三种不同的方法加载其中包含的对象: AssetBundle.Load 会将其名称标识符用作参数加载对象。其名称即工程 (Project) 视图中显示的名称。可选择将对象类型作为参数传递到 Load 类函数,确保加载的是特定类型的对象。 AssetBundle.LoadAsync 的作用原理与上述 Load 类函数相同,但不会在加
2、载资源后阻塞主线程。此方法对于加载较大资源或一次加载多个资源很有用,可避免应用程序停止运行。 AssetBundle.LoadAll 将加载资源包 (AssetBundle) 中的所有对象。和 AssetBundle.Load 一样,可以按照其类型选择性地过滤对象。要卸载资源,需要使用 AssetBundle.Unload。这个类函数包含一个布尔参数,可告诉 Unity 是卸载所有数据(包括已加载的资源对象),还是只卸载已下载资源包中的压缩数据。如果应用程序正在使用此资源包 (AssetBundle) 中的一些对象,并且需要释放一些内存,则可传递 false 以便卸载内存中的已压缩数据。如需完
3、全卸载该资源包 (AssetBundle) 的所有对象,则应传递 true,以便销毁从资源包加载的资源 (Assets)。文章出处【狗刨学习网】从资源包 (AssetBundles) 异步加载对象可使用 AssetBundle.LoadAsync 类函数异步加载对象,从而降低应用程序暂时中断的可能性。1. using UnityEngine;2.3. / Note:This example does not check for errors.Please look at the example in the DownloadingAssetBundles section for more in
4、formation4. IEnumerator Start () 5. / Start a download of the given URL6. WWW www = WWW.LoadFromCacheOrDownload (url, 1);7.8. / Wait for download to complete9. yield return www;10.11. / Load and retrieve the AssetBundle12. AssetBundle bundle = www.assetBundle;13.14. / Load the object asynchronously1
5、5. AssetBundleRequest request = bundle.LoadAsync (myObject, typeof(GameObject);16.17. / Wait for completion18. yield return request;19.20. / Get the reference to the loaded object21. GameObject obj = request.asset as GameObject;22.23. / Unload the AssetBundles compressed contents to conserve memory24. bundle.Unload(false);25. 文章出处【狗刨学习网】