由于assetbundle打包存在依赖的问题,所有资源要进行合理的分包

零、代码

代码都放在本地,包括NGUI等插件的代码、shader代码(内置的shader无需打包,而自定义的shader还是需要打包,否则每个依赖这个shader的游戏物体被打包的时候都会将shader代码打包到自己的assetbundle中去)

零点五、自定义shader

因为自定义的shader在启用CollectDependencies 打包时也会被分别打包进assetbundle中,所以为了避免空间的浪费,可以考虑将自定义shader打包成一个基础依赖包

一、单位

单位的模型贴图、动画一起打包

二、UI

1、公用图集一起打包(UIAtlas.prefab、UIAtlas.mat、UIAtlas.png)在进入游戏的时候加载并且常驻内存

2、(依赖公共图集)面板图集和面板预设一起打包  在切换场景的时候加载场景所需要的面板图集

三、场景  

1场景公用的贴图和预设一起打包

一种风格的场景有一个公用依赖资源包

2、场景独有的贴图和预设,以及场景的光照贴图、寻路数据一起和场景文件打包

切换场景的时候先加载场景公用包,在加载场景的时候再loading场景先加载公用包、再加载场景本身的包,然后Application.LoadLevelAsync切场景

公共资源包打包的使用可以使用BuildAssetBundle     而场景打包使用 BuildStreamedSceneAssetBundle

四、特效

特效单独打包,似乎会造成包很多的结果,还没有想到特效好的解决方案

ps:打包依赖资源的时候要使用

BuildAssetBundleOptions.CollectDependencies 否则引用关系会丢失

unity3d assetbundle打包策略的更多相关文章

  1. Unity3D AssetBundle相关

    Unity3D AssetBundle相关 首先,先看一下原理吧  Unity3D研究院之Assetbundle的原理(六十一) 其次,接着往下看:Unity3D研究院之Assetbundle的实战( ...

  2. Unity3d 5.x AssetBundle打包与加载

    1.AssetBundle打包 unity 5.x版本AssetBundle打包,只需要设置好AssetBundle的名称后,unity会自动将其打包,无需处理其他,唯独需要做的是设置好个AssetB ...

  3. [Unity3D] 5.0 图集合并扩展工具,用于解决UGUI与AssetBundle打包造成资源包过大的问题

    [Unity3D] 5.0 图集合并扩展工具,用于解决UGUI与AssetBundle打包造成资源包过大的问题 2017年07月05日 15:57:44 阅读数:1494 http://www.cpp ...

  4. AssetBundle打包

    为热更新打基础(xlua\tolua) 素材.源码链接:http://www.sikiedu.com/course/74/task/1812/show 一.AssetBundle的定义和作用 1,As ...

  5. Unity5 AssetBundle 打包以及加载

    using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEditor; us ...

  6. Unity5.x版本AssetBundle打包研究

    Unity5的AssetBundle打包机制和以前版本不太一样.简单的说就是,只要给你要打包的资源设置一个AssetBundleName ,Unity自身会对这些设置了名字的资源进行打包,如果一个资源 ...

  7. AssetBundle打包详解

    Unity5.x AssetBundle打包详解 在网上查看了很多资料,想详细搞清楚AssetBundle的原理.以实现符合项目需求的打包工具和加载逻辑 1. AssetBundle是什么? Asse ...

  8. 【厚积薄发】Crunch压缩图片的AssetBundle打包

    这是第133篇UWA技术知识分享的推送.今天我们继续为大家精选了若干和开发.优化相关的问题,建议阅读时间10分钟,认真读完必有收获. UWA 问答社区:answer.uwa4d.com UWA QQ群 ...

  9. Unity5 AssetBundle打包加载及服务器加载

    Assetbundle为资源包不是资源 打包1:通过脚本指定打包 AssetBundleBuild ab = new AssetBundleBuild                         ...

随机推荐

  1. Ubuntu 16.04.3 LTS 部署 Cloud Torrent

    下载安装程序 apt install -y curl sudo curl https://i.jpillora.com/cloud-torrent! | bash 写配置文件 sudo vim /et ...

  2. 光伏电池测控系统python代码

    '''硬件keithley万用表和程控电源visa是VXIplug&play系统联盟制定的一套标准.python实现VISA,形成pyviva模块'''###IV测试系统的部分程序代码 fro ...

  3. cocos源码分析--用Sprite加载自定义着色器

    本文写一个使用动态更新属性变量的自定义着色器.在这个例子中,小图标的位置根据手指的触摸而移动,以屏幕重点为参照物,屏幕中向下的部分根据手指的点击乘以一个绿色的颜色值,向上的部分乘以一个红色的颜色值. ...

  4. courator - maven

    ZK3.4.x: <!-- https://mvnrepository.com/artifact/org.apache.curator/curator-recipes --> <de ...

  5. js中基本数据类型和引用数据类型的区别

    1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象. 当我们把变量赋值给一个变 ...

  6. Missing artifact javax.transaction:jta:jar:1.0.1B

    下载https://pan.baidu.com/s/1hsfyj8S到某目录,比如: /Users/yintingting/Downloads 打开terminal,cd /Users/yinting ...

  7. Python之网络编程(Socket)

    1.网络通信原理与互联网协议 详见:https://www.cnblogs.com/JackLi07/p/9218039.html 2.socket层 以上是tcp/ip五层协议的结构图,我们没有看到 ...

  8. Linux终端小技巧

    注释:以下都是自己遇到的问题,问题太多也记不住,每次上网查找又比较麻烦,索性记录一下随笔! 1.进程的挂载与运行 暂停运行一个进程:Ctrl+Z   其中这个进程可再被操作,如:后台运行.再次运行等 ...

  9. windows清除访问共享文件夹的登陆信息

    https://jingyan.baidu.com/article/c843ea0b70797e77931e4a96.html 当在命令提示窗口输入net use命令时,会显示本机缓存的共享登录信息, ...

  10. 设计模式、j2ee 部 分、EBJ 部 分

    八. 软 件 工 程 与 设 计 模 式 1 .UML 方 面 标准建模语言 UML.用例图,静态图(包括类图.对象图和包图),行为图,交互图(顺序图,合作 图),实现图. 2 .j2ee 常 用 的 ...