→→前情提要:让用户选择要打包的文件←← 大结局:更多选择 Unity打包AssetBundle从入门到放弃系列终于要迎来大结局了[小哥哥表示实在写不动了o(╥﹏╥)o]... 经过上一次的教程,其实整个打包的功能也就差不多完成了,只是我们还没加上打包的按钮.这几次我们会加上打包和取消的按钮,并且开放更多的选项. 开始之前我们再来看看BuildAssetBundles函数的定义↓↓ public static AssetBundleManifest BuildAssetBundles(strin…
说明:这是一系列循序渐进的教程,今天先介绍最简单的AssetBundle打包方式. 这是一个由在Unity中需要加载模型而引发出来的一系列坑,为了填坑花了不少时间,如果有需要在Unity中自定义菜单,或者创建窗口,扩展编辑器,特别是有需要打包AssetBundle包的筒子们,请看过来←_← 在Unity中载入模型最简单的方式是直接将模型文件放到工程目录下,然后拖进场景中.但是如果我们需要在程序运行时将网络或任意目录下的模型加载到场景中,那么我们只能自己编写解析模型文件的脚本.因为Unity并没有…
→前情提要:Unity最基本的AssetBundle打包方式. 第二种打包方式 Unity提供的BuildAssetBundles API还有一个重载形式,看下面↓↓ public static AssetBundleManifest BuildAssetBundles(string outputPath, AssetBundleBuild[] builds, BuildAssetBundleOptions assetBundleOptions, BuildTarget targetPlatfo…
前情提要:第二种打包方式. 自定义AssetBundle包扩展名 在之前的教程中,我们已经多次提到过扩展名了,并且也已经说明了如何设置自定义的AssetBundle扩展名.至于为什么还要把它单独拿出来说一遍,自然是有它的道理的,因为这里面有一个巨大的坑... 注意,前方有坑... 根据前面的剧情,我们有三方式可以设置自定义的AssetBundle包扩展名,下面就来一一讲解: 一.在Inspector面板中设置扩展名 这种设置AssertBundle包扩展名的方式可能是最简单的方式了,这里我把图片…
前情提要:第二种打包方式 窗口初现 通过前面的两篇教程和一篇番外,我们已经完全实现了打包的功能.但是使用起来总是觉得有些晦涩别扭,如果不告诉别人怎么使用,对方肯定是一头雾水. What?你给我的这是啥?? 当你亲自演示了如何操作时,对方... 这也就是前面的教程将操作过程写的那么详细的原因(当然,高手请忽略). Unity除了提供常规API以外,还提供了一系列窗口编程的API,这就意味着我们可以轻松创建自定义窗口,扩展编辑器功能,可以说是很方便了.今天的任务就是在Unity中创建一个自定义的窗口…
→→前情提要:窗口初现←← 让用户选择要打包的文件 时至今日,我们选择打包文件的方式依然是在Project面板或Hierarchy面板中用鼠标点选.现在既然有了窗口,我们自然希望可以将所有文件罗列在窗口中,然后在窗口中进行选择,今天就来实现这一功能. 既然要显示所有的文件,我们就必须首先知道工程目录下都有哪些文件,并获取它们的路径.网上关于递归获取某一目录下的所有文件的例子有很多,这里就不细说了,但是要注意过滤掉.meta的文件,这是Unity为每个资源文件自动生成的,里面存储了资源的GUID,…
http://blog.csdn.net/janeky/article/details/17652021 在手游的运营过程中,更新资源是比不可少的.资源管理第一步是资源打包.传统的打包可以将所有物件制成预设Prefab,打包成场景.今天我们来一起学习官方推荐的Assetbundle,它是Unity(Pro)提供的资源打包策略.利用AssetBundle,可以将几乎所有的资源都打包封装,便于客户端更新下载新的资源. (转载请注明原文出处http://blog.csdn.net/janeky/art…
5.x的assetbundle与4.x以及之前的版本有些不同,不过本质是一样的,只不过5.x打包assetbundle更为简单和人性化了,总体来说只需要三个步骤: 第一步:创建打包资源 //这里是一个资源包数组,其中每一个资源包又可以包含多个小资源,所以一般情况下一个资源包就足够了 AssetBundleBuild[] _ABbuild = new AssetBundleBuild[1]; 第二步:给资源命名以及指定需要打包的资源 //资源包的名称 _ABbuild[0].assetBundle…
最近参考了各位大神的资源,初步学习了Unity的资源管理模式,包括在编辑器管理(使用AssetDatabase)和在运行时管理(使用Resources和AssetBundle).在此简单总结运行时用AssetBundle动态打包/解包资源的方法,方便自己回顾. 关于AssetBundle有很多的细节问题,在此先作个笔记,等更多的问题搞清楚了/有了新的理解,再接着补充/修改. 创建编辑器菜单项,用于打包AssetBundle using UnityEngine; using System.Coll…
Unity 资源AssetBundle打包 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创新!助力快速完成资源进行 AssetBundle 打包与读取为新手节省宝贵的时间,避免采坑! Chinar 教程效果: 1 AssetBundle Description -- 资源打包 2 AssetBundle Name -- AssetBundle名称设置 3 Editor…
转  Unity资源打包之Assetbundle 本文原创版权归 csdn janeky 所有,转载请详细注明原创作者及出处,以示尊重! 作者:janeky 原文:http://blog.csdn.net/janeky/article/details/17652021 如果这篇文章对你有帮助,敬请关注作者<Unity手游之路>系列教程. 在手游的运营过程中,更新资源是比不可少的.资源管理第一步是资源打包.传统的打包可以将所有物件制成预设Prefab,打包成场景.今天我们来一起学习官方推荐的As…
最近比较忙,好久没有更新博客了,新项目切换到unity5.x后使用了新的打包机制,在打包shader的时候遇到了一些问题,这里来记录一下吧. 在上一个项目中,我们使用unity4.7,对于shader并没有进行依赖打包,而是由unity打包到了每个用到的AssetBundle中去,其实这样是“很不科学的”.这样不仅增加了ab的总体积,而且还会在运行时产生很多的shader实例,增加很多的显存占用.所以我们决定把自定义的shader打包成一个AssetBundle. 用到的工具: 1.UnityS…
在手游的运营过程中,更新资源是比不可少的.资源管理第一步是资源打包.传统的打包可以将所有物件制成预设Prefab,打包成场景.今天我们来一起学习官方推荐的Assetbundle,它是Unity(Pro)提供的资源打包策略.利用AssetBundle,可以将几乎所有的资源都打包封装,便于客户端更新下载新的资源. (转载请注明原文出处http://blog.csdn.net/janeky/article/details/17652021) 创建AssetBundle 1.创建一个空的Prefab,命…
一.如何组织assetBundle: unity5以前,打包需要自己去找依赖,然后需要按照拓扑图顺序压入AB栈,这样在最后打AB时才能有效利用依赖(栈内已有的AB才能作为依赖). unity5.x后,打包变得简单,但如何组织assetBundle依然需要琢磨和规划. 首先我们需要知道:AB.asset和资源的关系:一个AB包括1个或多个asset,一个asset可能没有依赖其他asset(即包括了其需要的所有资源),也可能依赖其他asset(包括一些资源和指向其他asset所在AB的引用). 其…
问题起因 游戏开发基本都会涉及到资源版本管理及更新,本文记录我在打包过程中遇到的一小问题: 开过中常用于标记资源版本的方法有计算文件Hash.VCS的版本等. 在Unity中对同一个资源文件进行多次打包(AssetBundle),发现每次打出ab文件的Hash值都不一样. 这不科学啊?打包同一文件多次Hash值不一样,这对于用Hash来标记版本的方法基本是废了. 查资料发现:AssetBuildPipeline.BuildAssetBundle接口options参数,可以增加一项BuildAss…
1,打包有二种,打包可执行程序-player,打包资源包-assetbundle 2,打包player后,在PC平台去看打包后对应的资源大小,发现比原始资源小得多,模型资源压缩率约60%,图资源压缩率90%左右. 打包资源包后,去看打出的assetbundle,会发现,默认压缩方式下-LZMA,达到原始资源的20%,甚至更小.LZ4压缩方式可达原始资源的40%. 3,场景资源与普通资源不能一起打包. 4,对场景设置了assetbundle标记后,场景引用的资源会被自动设置成相同的标记.这可能是场…
读取/加载 AssetBundle 资源的多种方式 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创新!助力快速理解如何读取 AssetBundle 中的资源为新手节省宝贵的时间,避免采坑! Chinar 教程效果: 0 AssetBundle Description -- AssetBundle描述 1 Async Loading -- 内存加载-异步加载 2 Syn…
第一步 导包 在Assets新建一个Editor目录 新建一个Test类 using UnityEngine; using System.Collections; using UnityEditor; public class Test : Editor { //打包单个 [MenuItem("Custom Editor/Create AssetBunldes Main")] static void CreateAssetBunldesMain () { Object[] Select…
1,安装JDK.这个直接下就行了. 2,安装android sdk相关.这个比较蛋疼,官网是被墙的.有些网站的包还是需要访问墙外下载的.关键是找对那个能用的包(对我来说就是不FQ). http://pan.baidu.com/s/1skKILXV放到百度网盘了. 直接运行EXE,安装完后,自动弹出sdk manager,默认勾选了几个选项.这些选项是需要下载或更新的.对于UNITY打包安卓APK来说,至少应该有四大项: @android sdk, @platform tools, @buildt…
Unity 打包Apk安装失败,错误提示:安卓未完成. 解决方案:检查BundleID是否一致…
SDK:软件开发工具包(缩写:SDK.外语全称:Software Development Kit)一般都是一些软件工程师为特定的软件包.软件框架.硬件平台.操作系统等建立应用软件时的开发工具的集合. JDK: Java 语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具. unity打包安卓apk详细步骤 https://blog.csdn.net/weixin_418811…
1.去https://developer.apple.com登陆账号去生成打包用的签名文件,生成一个测试用的和一个上线发布用的签名文件 注意:签名文件绑定id必须和应用绑定包命一致,iOSapp唯一性.开发签名文件要添加测试机器,不然Xcode打包不能安装到测试机. 2.生成Mac打包证书,一般都是p1,p2证书,直接下载根证书使用会导致新的产生旧的将不可用,所以个根证书要多个app共用就要一次生成p1,p2给多个用户使用. 3.unity打包设置支持iOS64位 启用IL2CPP及ARM64支…
上篇文章中实现了基本的打包功能,在这篇我们来解决不同平台打AB包的问题. 本篇文章的核心api还是: BuildPipeline.BuildAssetBundles (outPath, 0, EditorUserBuildSettings.activeBuildTarget); 在第三个参数中,只要传入不同平台 BuildTarget就可以了.目前只考虑Android和iOS平台. 区分iOS.Android平台 很简单,只要在上篇文章的QABEditor类中将原来的BuildAssetBund…
一.设置assetBundleName二.构建AssetBundle包三.上传AssetBundle到服务器四.把AssetBundle放到本地五.操作AssetBundle六.完整例子七.AssetBundle Manager管理工具八.备注知识 一.设置assetBundleName 如果没有设置AssetBundleName,会打包所有的Assets下的资源,如果设置,就只打包设置了名字的资源 1.在unity编辑器界面手动设置 输入所需的AssetBundle名称.请注意,AssetBu…
AssetBundle Resources:表示U3D自动将资源打成一个AssetBundle包,所有放在Resources下的文件夹都会打成一个AssetBundle包,资源非常大,Resources文件夹在真机上最大只有2G的内存(专业版会增大内存) AssetBundle包:其实可以看成一个压缩包(有固定格式的),默认情况下使用LZMA压缩方式压缩的资源文件:和压缩ZIP一样的,只不过里面的格式变了 Unity3D引擎为我们提供了三种压缩策略来处理AssetBundle的压缩,即: 1.L…
本篇接着上一篇.上篇中说到的4步的代码分别如下所示: (1)将资源打包成assetbundle,并放到自定目录下 using UnityEditor; using UnityEngine; using System.IO; using System.Collections; using System.Collections.Generic; public class CreateAssetBundle { public static void Execute(UnityEditor.BuildT…
转载:http://www.cnblogs.com/sifenkesi/p/3557231.html 将本地资源打包,然后放到资源服务器上供游戏客户端下载或更新.服务器上包含以下资源列表:(1)游戏内容资源assetbundle(2)资源维护列表,包含每个资源的名字(完整路径名)和对应的版本号[资源名,版本号],如下表所示(VersionNum.xml): <VersionNum> <File FileName="Assets.Resources.BigLevelTexture…
转自:http://www.cnblogs.com/sifenkesi/p/3557290.html 本篇接着上一篇.上篇中说到的4步的代码分别如下所示: (1)将资源打包成assetbundle,并放到自定目录下 using UnityEditor; using UnityEngine; using System.IO; using System.Collections; using System.Collections.Generic; public class CreateAssetBun…
注意,BuildTarget tagetPlatform参数为BuildTarget.Android using UnityEngine; using UnityEditor; public class BuildAssetBundlesExample: MonoBehaviour { [MenuItem("Example/Build Asset Bundles")] static void BuildABs() { // Put the bundles in a folder cal…
一. 1.关于如何打包成ab包,就不多说了,网上很多教程,siki学院也有siki老师的免费视频教程挺详细的,可以看看 http://www.sikiedu.com/my/course/74 2.为了图方便,用了siki老师说的AssetBundlesBrowser打包工具,这个工具还可以查看包内容,满赞的 二.打包完成之后得到ab包 1.直接上代码吧,毕竟那么简单 IEnumerator wait() { string path = Application.streamingAssetsPat…