Unity5-ABSystem(一):AssetBundle原理】的更多相关文章

之前说了 “Unity5.x版本AssetBundle打包研究”,没看过的请先看一下:http://www.shihuanjue.com/?p=57 再来看本文,有一定的连接性. 先梳理一下思路: 要加载一个资源A,必须先去加载它的所有依赖资源 要知道这个资源A依赖了哪些资源,必须先去加载AssetBundleManifest 通过AssetBundleManifest对象的GetAllDependencies(A)方法,获取它依赖的所有资源. 依赖资源都加载了,就可以去真正加载资源A了. 注意…
一.什么是AssetBundle 估计很多人只知道Unity的模型之类的东西可以导出成一种叫做AssetBundle的文件,然后打包后可以在Unity程序运行的时候再加载出来用.那么AssetBundle是一个什么样的东西呢? 其实AssetBundle只是一种使用LZMA压缩方式压缩的资源文件.具体LZMA是什么请百度,你可以理解成就是一种压缩文件就行了,至于它的后缀名是什么,一点关系都没有,你可以自己定. AssetBundle打包的时候,你可以指定一个mainAsset,那么加载完之后就可…
Unity5的AssetBundle打包机制和以前版本不太一样.简单的说就是,只要给你要打包的资源设置一个AssetBundleName ,Unity自身会对这些设置了名字的资源进行打包,如果一个资源依赖了另一个资源.Unity自己会处理依赖关 系,AssetBundleManifest文件就保存着这些资源的依赖关系. 比如一个UI面板.Prefab,依赖了一个图集Atlas,一个字体文件 做个测试: 只给UI面板3.prefab设置AssetBundleName. 打出包来看,别看只有371K…
转载自:http://blog.csdn.net/lodypig/article/details/51863683 说明 AssetBundle简介 AssetBundle内部格式 normal bundle scene bundle 压缩 AssetBundle内部格式 说明 本系列所使用unity版本为5.3.4f1. AssetBundle简介 AssetBundle是Unity Pro提供和推荐的资源导出方式,它可以把多个自定义的游戏对象或者资源以二进制形式保存到Assetbundle文…
using UnityEngine; using System.Collections; using UnityEditor; /// <summary> /// 脚本位置:Editor文件夹下 /// 脚本功能:打包 /// </summary> public class CreateAssetBundle:Editor { // 打包unity场景文件 [MenuItem("Assets/Build AssetBundle Scene")] static v…
前面我们研究了AssetBundle的打包与加载,现在我们来了解下如何在项目中根据版本号更新内容. 最最重要的一点,细心的朋友应该看到了在加载AssetBundle的MrcAssetManager类中,我们使用的WWW加载对象可以使用WWW.LoadFromCacheOrDownload方法,其中第一个参数是资源的url,第二个参数则是我们的要加载的版本号,我们将通过这个版本号决定是不是要重新从服务器上下载.因此,我们需要在本地和服务器上分别建立一个版本配置文件,里面包含了版本号.资源大小.更新…
上次我们进行了AssetBundle打包,现在我们还把打包的资源加载到我们的游戏中.在加载之前,我们需要把打包好的Bundle包裹放到服务器上,如果没有,也可以使用XAMPP搭建本地服务器. 加载的AssetBundle文件是放在内存中的,所以如果没有很好的管理,会使游戏性能大打折扣,因此,我们在这里最好使用缓存策略. 我们的AssetBundle: using System; using UnityEngine; namespace MrCAssetFramework { public sea…
资源管理是游戏开发的重要环节,Unity中使用AssetBundle可以非常方便地帮我们打包和更新游戏内容,在5系列中,AssetBundle更是方便好用,现在让我们先进行打包吧. 刚说了,5系列打包非常方便,细心的同志可能已经发现,在右下角多出了个AssetBundle标签工具栏,这使用得我们在选择要打包的文件时,不必再像4系列中一样要在Editor运行库脚本中写一堆取得对象的代码了.那么,这个工具栏是怎么帮我们解决问题的呢?很简单,选中我们的需要的打包的资源(包括场景哦),然后在工具栏编辑和…
1.概览 Unity3D 5.0版本之后的AssetBundle机制和之前的4.x版本已经发生了很大的变化,一些曾经常用的流程已经不再使用,甚至一些老的API已经被新的API所取代. 因此,本文的主要内容就是分析5.X版本的AssetBundle机制(包括创建资源包.压缩资源包.加载资源包和从资源包中加载/卸载资源等几个方面)及其关键的API使用方式并总结一些对项目的建议(例如根据不同的情景,选择不同的包体加载方案等等). 2.AssetBundle系统的新功能 2.1.AssetBundle系…
(1)新版本 唯一打包API Buildpipeline.BuildAssetBundle (2)在资源的Inpector界面最下方可设置该资源的assetbundleName, 每个assetbundleName对应一个Bundle,即assetbundleName相同的资源会打在一个Bundle中. (3),我们还可以在Inpector中设置另一个名字,即variant(变体).在打包时,variant会作为后缀添加在assetbundleName之后.(差异区分,例如相同名字的Normal…