Unity3D游戏开发之加载和卸载资源包(AssetBundle)中的.docx
上传人:qw****27 上传时间:2024-09-11 格式:DOCX 页数:2 大小:15KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Unity3D游戏开发之加载和卸载资源包(AssetBundle)中的.docx

Unity3D游戏开发之加载和卸载资源包(AssetBundle)中的.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Unity3D游戏开发之加载和卸载资源包(AssetBundle)中的对象LoadingresourcesfromAssetBundles加载和卸载资源包(AssetBundle)中的对象使用下载的数据构建资源包(AssetBundle)对象后,可以使用三种不同的方法加载其中包含的对象:AssetBundle.Load会将其名称标识符用作参数加载对象。其名称即工程(Project)视图中显示的名称。可选择将对象类型作为参数传递到Load类函数,确保加载的是特定类型的对象。AssetBundle.LoadAsync的作用原理与上述Load类函数相同,但不会在加载资源后阻塞主线程。此方法对于加载较大资源或一次加载多个资源很有用,可避免应用程序停止运行。AssetBundle.LoadAll将加载资源包(AssetBundle)中的所有对象。和AssetBundle.Load一样,可以按照其类型选择性地过滤对象。要卸载资源,需要使用AssetBundle.Unload。这个类函数包含一个布尔参数,可告诉Unity是卸载所有数据(包括已加载的资源对象),还是只卸载已下载资源包中的压缩数据。如果应用程序正在使用此资源包(AssetBundle)中的一些对象,并且需要释放一些内存,则可传递false以便卸载内存中的已压缩数据。如需完全卸载该资源包(AssetBundle)的所有对象,则应传递true,以便销毁从资源包加载的资源(Assets)。文章出处HYPERLINK"http://www.gopedu.com/"【狗刨学习网】从资源包(AssetBundles)异步加载对象可使用AssetBundle.LoadAsync类函数异步加载对象,从而降低应用程序暂时中断的可能性。usingUnityEngine;//Note:Thisexampledoesnotcheckforerrors.PleaselookattheexampleintheDownloadingAssetBundlessectionformoreinformationIEnumeratorStart(){//StartadownloadofthegivenURLWWWwww=WWW.LoadFromCacheOrDownload(url,1);//Waitfordownloadtocompleteyieldreturnwww;//LoadandretrievetheAssetBundleAssetBundlebundle=www.assetBundle;//LoadtheobjectasynchronouslyAssetBundleRequestrequest=bundle.LoadAsync("myObject",typeof(GameObject));//Waitforcompletionyieldreturnrequest;//GetthereferencetotheloadedobjectGameObjectobj=request.assetasGameObject;//UnloadtheAssetBundlescompressedcontentstoconservememorybundle.Unload(false);}文章出处HYPERLINK"http://www.gopedu.com/"【狗刨学习网】