[cb] Assetbundle打包(一)

Unity的Assetbundle是Unity Pro提供的功能。

理解:Asset 资源,资产;Bundle :包,一批,捆;字面上的意思,就是把资源打包。

在项目中的实际应用:Art工程,Prefab打包成AssetBundle到Produect目录,Client工程读取AssetBundle;

下面这张图是Art工程

放在Product目录下的Prefab都会打包成AssetBundle

打包AssetBundle到Product目录下[Assetbundle有运行平台之分]

Client工程主要的是Code,在StreamingAssets目录有当前平台的AssetBundle快捷方式

资源更新

Tips:

由于移动平台上不能更新脚本,也就Prefab上绑定的脚本是不会被执行的。但是如果本地工程有同样的脚本,那么Unity会自动将这个脚本绑定在下载的Prefab上,并且他们执行的非常好。如果本地工程中没有Prefab上的脚本,那么这个脚本是永远不会执行的。

比如:Box1.Prefab和Coin1.Prefab同样引用CBonesObject.cs,但是某些Public的变量值不一样,打包Assetbundle也是没有问题的,一样可以识别的很好。

下图:Art工程Prefab上的脚本在Client工程同样需要存在

 

[cb] Assetbundle打包(一),布布扣,bubuko.com

时间: 2024-10-02 19:28:56

[cb] Assetbundle打包(一)的相关文章

Assetbundle 打包加载及服务器加载等(采用unity3d5.0后的新版)

Assetbundle为资源包不是资源 打包1:通过脚本指定打包 AssetBundleBuild ab = new AssetBundleBuild { assetBundleName = PlayerSettings.bundleVersion + "@" + "zhao",//资源包assets的名字 assetNames = new string[1],  //包里的每个资源的名字 }; string outputPath = Path.Combine(Ut

AssetBundle打包优化解决方案

第一阶段:AssetBundle出一套解决方案 1.解决现在同一个资源打2个bundle的冗余问题 2.测试验证节省资源的比率是多少 问题拆分 一.bundle重复 问  题  :相同资源拆分问题? 解决方案:1.制作场景时将相同部分分开 制作方法:将每个场景相同部分放到同一个目录,不同部分保留在场景中 打包方法:a.打成独立的bundle,不同部分放到每个场景中打成bundle b.用xml记录下每个场景中公共部分的transform,bundle名称.资源名称.父节点信息 优    点:打包

unity3d assetbundle打包策略

由于assetbundle打包存在依赖的问题,所有资源要进行合理的分包 零.代码 代码都放在本地,包括NGUI等插件的代码.shader代码 一.单位 单位的模型贴图.动画一起打包 二.UI 1.公用图集一起打包(UIAtlas.prefab.UIAtlas.mat.UIAtlas.png)在进入游戏的时候加载并且常驻内存 2.(依赖公共图集)面板图集和面板预设一起打包  在切换场景的时候加载场景所需要的面板图集 三.场景 1.场景公用的贴图和预设一起打包 一种风格的场景有一个公用依赖资源包 2

Unity5.x版本AssetBundle打包研究

Unity5的AssetBundle打包机制和以前版本不太一样.简单的说就是,只要给你要打包的资源设置一个AssetBundleName ,Unity自身会对这些设置了名字的资源进行打包,如果一个资源依赖了另一个资源.Unity自己会处理依赖关系,AssetBundleManifest文件就保存着这些资源的依赖关系.比如一个UI面板.Prefab,依赖了一个图集Atlas,一个字体文件做个测试:只给UI面板3.prefab设置AssetBundleName.打出包来看,别看只有371KB,那是因

Unity AssetBundle打包与资源更新

Unity的AssetBundle打包是一件让人头疼的事情,当我接手这项工作时,我以为最多只用两个周就可以把整个打包和资源热更新的流程搞定,结果还是花了一个月,期间踩坑无数,总结出来希望能够节约别人的时间. (一)你的游戏项目是什么类型的? 在开始写打包的Editor脚本之前,你最好先详细考察一下你们的游戏项目是什么类型?是端游,手游还是页游?因为这三者涉及到bundle包的资源管理策略截然不同,如果你们是跨平台发布,那我建议你最好用宏来切换管理策略. 我先分享一下我曾经接手过打包工作的两个项目

U3D assetbundle打包

using UnityEngine; using System.Collections; using UnityEditor; //此脚本不一定要放于editor目录下,经测试,放于其它地方也可以 public class testAB { //public static 类型的变量是不会出现在UI上的,因为出现在UI的脚本是实例化的脚本,是属于特定对象的 public static string varTest = "vartest"; [MenuItem("Assets/

AssetBundle打包优化解决方式

第一阶段:AssetBundle出一套解决方式 1.解决如今同一个资源打2个bundle的冗余问题 2.測试验证节省资源的比率是多少 问题拆分 一.bundle反复 问  题  :同样资源拆分问题? 解决方式:1.制作场景时将同样部分分开 制作方法:将每一个场景同样部分放到同一个文件夹,不同部分保留在场景中 打包方法:a.打成独立的bundle,不同部分放到每一个场景中打成bundle b.用xml记录下每一个场景中公共部分的transform,bundle名称.资源名称.父节点信息 优    

Unity3d 5.x AssetBundle打包与加载

1.AssetBundle打包 unity 5.x版本AssetBundle打包,只需要设置好AssetBundle的名称后,unity会自动将其打包,无需处理其他,唯独需要做的是设置好个AssetBundle的名称. 注意:AssetBunlde的名称只能设置小写字母,即使你写成大写也会被自动转置成大写字母,而且名称中支持"/",如:"AssetBundles/cube.unity3d",.unity3d的后缀是自己设置的,可以不设置 代码: using Unit

一个灵活的AssetBundle打包工具

尼尔:机械纪元 上周介绍了Unity项目中的资源配置,今天和大家分享一个AssetBundle打包工具.相信从事Unity开发或多或少都了解过AssetBundle,但简单的接口以及众多的细碎问题也给工作带来较多的困扰.今天分享AssetBundle工具的实践与想法,相信这块内容对帮助理解AssetBundle有较大的帮助. Unity提供了两种资源加载方式,一种是Resources,另外种就是AssetBundle.所有的资源只要放在Resources目录下,在打包的时候会自动打进去,并可以通