--刚刚做完一个xlua的的热更项目,对AssetBundle资源分类总结一下。纯理论,闲谈知识,要是有建议,尽管提 ,不掺杂代码。

--这里说说,AB是如何打包,如果下载,如何加载。

1.关键词理解:有依赖(公共),无依赖,常驻(使用频率),非常驻。

所谓依赖,无依赖。

画红圈的就是有依赖关系的,但是Unity中,如何知道有哪些资源有依赖关系呐。

一般,我们每次Build后会自动生成AndroidManifest.xml,这里面就详细叙述了资源之间的

依赖关系。

2.下载资源?

下载资源的话,我这边是通过Version文件对比获取所需下载资源,没什么好讲的。

一张图,解释:

3.如何加载?

最主要的就是这边了。

I.加载的优先级

首先加载的是 常驻公共资源,

再加载经常反复资源,

当然如果进入战斗(某个特定模块),就加载非常驻公共资源。

其他资源是当使用时加载。

II.释放资源

常驻资源肯定是不能unload(false)的,这边释放资源,释放的是其他资源。

对于unload(false),还是unload(true) .

unload(false)适合反复使用资源,一次Load之后,再也不需要Load,且与其他资源没有"被依赖关系"。

unload(false),释放的是自身。

unload(true),释放的是自身以及自身所有的子节点。因此,unload(true),慎用。

III 缓存资源

一般常驻资源,最好缓存把AB存为需要的GameObject,例如子弹之类。

Unity AssetBundle 游戏资源分类及关系的更多相关文章

  1. Unity 提取游戏资源之ktx转换

    http://blog.csdn.net/akof1314/article/details/38022263 从雨松的博文<Unity3D研究院之mac上从.ipa中提取unity3D游戏资源( ...

  2. Unity -- AssetBundle(本地资源加载和加载依赖关系)

    1.本地资源加载 1).建立Editor文件夹 2).建立StreamingAssets文件夹和其Windows的子文件夹 将下方第一个脚本放入Editor 里面 脚本一  资源打包AssetBund ...

  3. [Unity AssetBundle]Asset资源处理

    什么是AssetBundle 在很多类型游戏的制作过程中,开发者都会考虑一个非常重要的问题,即如何在游戏运行过程中对资源进行动态的下载和加载.因此,Unity引擎引入了AssetBundle这一技术来 ...

  4. Unity AssetBundle打包资源工具

    using UnityEngine;using System.Collections;using UnityEditor; /// <summary>/// 简单资源打包Editor/// ...

  5. [Unity Asset]AssetBundle系列——游戏资源打包

    转载:http://www.cnblogs.com/sifenkesi/p/3557231.html 将本地资源打包,然后放到资源服务器上供游戏客户端下载或更新.服务器上包含以下资源列表:(1)游戏内 ...

  6. Unity资源打包学习笔记(二)、如何实现高效的unity AssetBundle热更新

    转载请标明出处:http://www.cnblogs.com/zblade/ 0x01 目的 在实际的游戏开发中,对于游戏都需要进行打补丁的操作,毕竟,测试是有限的,而bug是无法预估的.那么在手游中 ...

  7. AssetBundle系列——游戏资源打包(一)

    将本地资源打包,然后放到资源服务器上供游戏客户端下载或更新.服务器上包含以下资源列表:(1)游戏内容资源assetbundle(2)资源维护列表,包含每个资源的名字(完整路径名)和对应的版本号[资源名 ...

  8. (转)AssetBundle系列——游戏资源打包(一)

    转自:http://www.cnblogs.com/sifenkesi/p/3557231.html 将本地资源打包,然后放到资源服务器上供游戏客户端下载或更新.服务器上包含以下资源列表:(1)游戏内 ...

  9. Unity AssetBundle爬坑手记

    这篇文章从AssetBundle的打包,使用,管理以及内存占用各个方面进行了比较全面的分析,对AssetBundle使用过程中的一些坑进行填补指引以及喷!   AssetBundle是Unity推荐的 ...

随机推荐

  1. [转载]解决sudo: sorry, you must have a tty to run sudo

    前几天遇到一个问题,在一个终端中调用另一个shell,始终是无法执行的,后来捕捉到报错信息为sudo: sorry, you must have a tty to run sudo,后来,在网上了解到 ...

  2. 用Vue中遇到的问题和处理方法

    用Vue开发项目有一段时间,在实际项目中遇到一些问题,在里把问题记录下来,并附上解决方案,给遇到同样的问题的码友提供一个解决思路吧: 测试部抛出问题一:在Vue1.0路由vue-router中,当点击 ...

  3. Erlang gen_server进程花样作死

    本文主要记录各种情况下gen_server进程退出的表现. 研究动机起源于Elixir/Phoenix框架中遇到的一个进程异常退出问题.因为网络异常,客户端超过一段时间未发来消息,channel进程( ...

  4. 爬取网页内容java

    下面介绍的这个方法只是作为抛砖引玉:根据网页URL就可以抓取其中的内容 /** * @title getHtmlResourceByUrl * @param url 网址 * @param encod ...

  5. JavaScript的ajax使用

    使用ajax首先定义个XMLHttpRequest变量,为了判断对IE6以及以下版本的兼容性,需要var xmlHR;        if (window.XMLHttpRequest) {      ...

  6. HttpClient(二)HttpClient使用Ip代理与处理连接超时

    前言 其实前面写的那一点点东西都是轻轻点水,其实HttpClient还有很多强大的功能: (1)实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等) (2)支持自动转向 (3)支持 ...

  7. 学习笔记-使用cmd命令行创建nodejs项目

    使用cmd命令行创建nodejs项目 1)在DOS下cd 进入到你想要创建项目的路径. 2)mkdir sing (创建一个sing文件夹) 3)cd sing  4) npm init (初始化工程 ...

  8. GDOI2016游记

    翘课真好……(下午返校gg…… 为了GDOI,我特地准备了一堆模板,然后,由于在考前不久发现一个挺好玩的手游……模板就这么被放在一边(只翻了几次…… Day 0 同样是坐动车,到广州后转大巴到四会市, ...

  9. HDU 5752 Sqrt Bo【枚举,大水题】

    Sqrt Bo Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total S ...

  10. UOJ#152. 【UR #10】汉诺塔

    题目:http://uoj.ac/problem/152 orzKPM... 分治,把数字是l~mid的拿出来放在一根柱子上,mid+1~r放在另一根柱子上.如此递归下去,每次递归只是改一下方向,l, ...