资源管理是游戏开发的重要环节,Unity中使用AssetBundle可以非常方便地帮我们打包和更新游戏内容,在5系列中,AssetBundle更是方便好用,现在让我们先进行打包吧. 刚说了,5系列打包非常方便,细心的同志可能已经发现,在右下角多出了个AssetBundle标签工具栏,这使用得我们在选择要打包的文件时,不必再像4系列中一样要在Editor运行库脚本中写一堆取得对象的代码了.那么,这个工具栏是怎么帮我们解决问题的呢?很简单,选中我们的需要的打包的资源(包括场景哦),然后在工具栏编辑和…
上次我们进行了AssetBundle打包,现在我们还把打包的资源加载到我们的游戏中.在加载之前,我们需要把打包好的Bundle包裹放到服务器上,如果没有,也可以使用XAMPP搭建本地服务器. 加载的AssetBundle文件是放在内存中的,所以如果没有很好的管理,会使游戏性能大打折扣,因此,我们在这里最好使用缓存策略. 我们的AssetBundle: using System; using UnityEngine; namespace MrCAssetFramework { public sea…
前面我们研究了AssetBundle的打包与加载,现在我们来了解下如何在项目中根据版本号更新内容. 最最重要的一点,细心的朋友应该看到了在加载AssetBundle的MrcAssetManager类中,我们使用的WWW加载对象可以使用WWW.LoadFromCacheOrDownload方法,其中第一个参数是资源的url,第二个参数则是我们的要加载的版本号,我们将通过这个版本号决定是不是要重新从服务器上下载.因此,我们需要在本地和服务器上分别建立一个版本配置文件,里面包含了版本号.资源大小.更新…
Unity5的AssetBundle打包机制和以前版本不太一样.简单的说就是,只要给你要打包的资源设置一个AssetBundleName ,Unity自身会对这些设置了名字的资源进行打包,如果一个资源依赖了另一个资源.Unity自己会处理依赖关 系,AssetBundleManifest文件就保存着这些资源的依赖关系. 比如一个UI面板.Prefab,依赖了一个图集Atlas,一个字体文件 做个测试: 只给UI面板3.prefab设置AssetBundleName. 打出包来看,别看只有371K…
一.什么是AssetBundle 估计很多人只知道Unity的模型之类的东西可以导出成一种叫做AssetBundle的文件,然后打包后可以在Unity程序运行的时候再加载出来用.那么AssetBundle是一个什么样的东西呢? 其实AssetBundle只是一种使用LZMA压缩方式压缩的资源文件.具体LZMA是什么请百度,你可以理解成就是一种压缩文件就行了,至于它的后缀名是什么,一点关系都没有,你可以自己定. AssetBundle打包的时候,你可以指定一个mainAsset,那么加载完之后就可…
using UnityEngine; using System.Collections; using UnityEditor; /// <summary> /// 脚本位置:Editor文件夹下 /// 脚本功能:打包 /// </summary> public class CreateAssetBundle:Editor { // 打包unity场景文件 [MenuItem("Assets/Build AssetBundle Scene")] static v…
之前说了 “Unity5.x版本AssetBundle打包研究”,没看过的请先看一下:http://www.shihuanjue.com/?p=57 再来看本文,有一定的连接性. 先梳理一下思路: 要加载一个资源A,必须先去加载它的所有依赖资源 要知道这个资源A依赖了哪些资源,必须先去加载AssetBundleManifest 通过AssetBundleManifest对象的GetAllDependencies(A)方法,获取它依赖的所有资源. 依赖资源都加载了,就可以去真正加载资源A了. 注意…
Assetbundle为资源包不是资源 打包1:通过脚本指定打包 AssetBundleBuild ab = new AssetBundleBuild                               {                                   assetBundleName =                                       PlayerSettings.bundleVersion + "@" + "zhao…
1.AssetBundle打包 unity 5.x版本AssetBundle打包,只需要设置好AssetBundle的名称后,unity会自动将其打包,无需处理其他,唯独需要做的是设置好个AssetBundle的名称. 注意:AssetBunlde的名称只能设置小写字母,即使你写成大写也会被自动转置成大写字母,而且名称中支持"/",如:"AssetBundles/cube.unity3d",.unity3d的后缀是自己设置的,可以不设置 代码: using Unit…
Unity5.x AssetBundle打包详解 在网上查看了很多资料,想详细搞清楚AssetBundle的原理.以实现符合项目需求的打包工具和加载逻辑 1. AssetBundle是什么? AssetBundle是Unity用于动更的一种资源打包格式,如果某个资源需要动更的话,它必须被打包成AssetBundle 2. AssetBundle打包常见要面临的问题? 如何组织打包 如何避免资源重复打包 打包的资源如何加载 3. 我的打包方案 Unity5.x已经大幅度简化了AssetBundl的…