【Assetbundle创建与加载】

  Unity有两种动态加载机制:一种是Resource.Load。一种是AssetBundle。Assetbundle是Unity Pro提供的功能,它可以把多个游戏对象或者资源二进制文件封装到Assetbundle中。供加载、解压使用。  

【创建Assetbundle】

使用方法 BuildPipeline.BuildAssetBundle (Object, assets , pathName , options , targetPlatform)

参数1:它只能放一个对象。

参数2:可以放入一个数组对象。

参数3:保存路径。

参数4:BuilderAssetBundleOptions

CollectDependencies // 包含所有依赖关系。

CompleteAssets//强制包含整个资源

DisableWriteTypeTree//在资源包不包含类型信息。

DeterministicAssetBundle//编译资源包使用一个哈希表储存对象ID在资源包中。

UncompressedAssetBundle//不压缩Assetbundle,默认会进行压缩

参数5:平台

特别注意的是,电脑上和手机上打出来的Assetbundle不能混用,不同平台只能用自己的。

【载入Assetbundle】

使用方法:

1)WWW bundle = new WWW(path);

2)WWW bundle = WWW.LoadFromCacheOrDownload(path, fileVer);

载入成功后就可以通过资源名使用bundle.assetBundle.Load方法获取资源。

如下图所示

  

  使用Assetbundle.Load会从Assetbundle的内存镜像中读取并创建一个Asset对象,创建的同时会分配相应的内存用于反序列化存储。

【内存释放】

  

  最后在使用Assetbundle时候最好的方式是。

  创建时:使用Assetbundle.load加载所需的asset,加载完后立即Assetbundle.Unload(false),释放Assetbundle文件本身的内存镜像,但不销毁加载的Asset对象。这样遍可以释放一部分内存。

  释放时。如果是通过Instantiate的对象,用Destroy进行销毁。在合适的地方使用Resources.UnloadUnusedAssets,释放已经没有引用的Asset。Unity底层会对对象引用进行计数,如果引用为0.执行UnloadUnusedAssets就可以全部释放。

【使用要点】

1、AssetBundle会使用Lzma压缩。

2、Resource下的资源发布时会变成resources.assets文件,2G磁盘大小限制。首次完全下载,不可更新。

3、AssetBundle的本地磁盘缓存可多达4G,除了Web版只能50M。

4、兼容性。

  

5、AssetBundle创建方法:

  

6、BundleOption的区别。

  

7、AssetBundle.CreateFromMemory()速度慢。

8、AssetBundle.CreateFromFile只能加载非压缩的AssetBundle。

9、LoadLevel方法详解:

  

10、AssetBundle的释放。

  

Assetbundle创建与加载的更多相关文章

  1. Unity3D基础学习之AssetBundle 资源包创建与加载

    前几天做了AssentBundle的例子,遇到了问题,在论坛上问了三天都没人解答,最后在一个朋友的帮助下解决了.下面介绍AssentBundle. AssetBundles让你通过WWW类流式加载额外 ...

  2. Unity5 AssetBundle 打包以及加载

    using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEditor; us ...

  3. unity中ScriptableObject在assetbundle中的加载

    转载请标明出处:http://www.cnblogs.com/zblade/ 以前都是写一些个人的调研博客,从今天开始,也写一些个人在开发中遇到的一些可以分享的趟坑博客,为后续的开发人员提供一些绵薄之 ...

  4. Assetbundle管理与加载

    最近在做项目优化的时候发现公司的项目用的还是老式的WWW去加载assetbundle资源的形式,而且是通过在两个Update里面分开加载AB和Asset的,这样虽然避免了协程的的使用,但是把一件事分开 ...

  5. Android四大组件之Activity(活动)及其布局的创建与加载布局

    Android四大组件之Activity(活动)及其布局的创建与加载布局 什么是Activity ? 活动(Activity)是包含用户界面的组件,主要用于和用户进行交互的,一个应用程序中可以包含零个 ...

  6. Unity3d 5.x AssetBundle打包与加载

    1.AssetBundle打包 unity 5.x版本AssetBundle打包,只需要设置好AssetBundle的名称后,unity会自动将其打包,无需处理其他,唯独需要做的是设置好个AssetB ...

  7. powershell创建并加载配置文件

    $pshome :powershell的主目录 $profile :显示 Windows PowerShell 配置文件的路径 test-path $profile :确定是否已经在系统上创建了 Wi ...

  8. ExtJS 创建动态加载树

    Ext 中导航树的创建有两种方式:1.首先将所有的数据读出来,然后绑定到前台页面.2.每点击一个节点展开后加载子节点.在数据量比较小的时候使用第一种方式加载的会快一些,然而当数据量比较大的时候,我还是 ...

  9. 创建以及加载模块【nodejs第四篇】

    建立两个文件,文件一createModule.js ,文件二main.js createModule.js的代码,主要用于创建一个模块 /** * Created by Administrator o ...

随机推荐

  1. django,flask接口初试

    -------------django 1.需要安装的环境 pip install django pip install djangorestframework ## restful组件 pip in ...

  2. 当别人给你一个wsdl或者webservice接口时

    一  通过wsdl生成客户端 引用于http://www.cnblogs.com/yisheng163/p/4524808.html 参照http://www.cnblogs.com/xdp-gacl ...

  3. Eureka 客户端启动报错误 Cannot determine embedded database driver class for database type NONE

    用这种数据库配置就是死活连不上数据库 提示:Cannot determine embedded database driver class for database type NONE 解决方式: 启 ...

  4. Mysql5.7 Linux安装教程

    1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/local/mysql数据库保存位置:/data/mysql日志保存位置:/data/log/mysql 2下 ...

  5. 1.App爬取相关库的安装(安装Charles及手机端证书安装配置)

    一.官网下载Charles安装包: https://www.charlesproxy.com/download1.下载对应版本 我这里下载的是 win 64 bit (下载完解压,双击打开charle ...

  6. js: 字符集

    用js生成字符集 一般网页制作中需要一些向上向下的小箭头,用图片非常不合算(一个页面发起多个http请求.css.文件大小等方面考虑) 所以用一些字符集的字符图形,效果很好 下面是用js生成字符集,以 ...

  7. out.println与<%!%>的功能一样

    <%! public static final String DBDRIVER = "A"; public static final String DBURL = " ...

  8. element UI select 设定默认值

    要为select设定默认值,有两个步骤 1.数据中,声明一个变量param:该变量的值设为你想设定的select option中value 2.控件的 v-model 绑定 param 即可 < ...

  9. 判断窗体 show完成

    TForm窗体 this->Visible           this->Showing        true: 显示 fale:关闭     这个可用    this->Act ...

  10. png 2 icon

    http://www.easyicon.net/covert/ 这个网页可以转换png图片为icon格式