http://www.manew.com/blog-33734-12973.html
unity 打包的时候会把下面几个文件资源打进apk或者ipa包里面
1. Asset下的所有脚本文件
2. Asset下所有引用的文件(比如 场景中直接使用到的资源)
3. (这里的resorces不是特指根目录下的Resources,也可以是子目录下的,只要文件夹名字叫Resources就可以)Resources文件夹下所有资源,这个文件夹下的资源无论是否被用到,都会被压缩打进包里面,程序中通过Resources.Load来加载
4 StreamingAssets。这个文件夹会不会被压缩,被原封不动地打进包,是个只读文件夹。有热更新的游戏,会把打包的assertbundle放在这个文件夹下,游戏开始的时候,会把这些assertbundle 拷贝到Application.persistentDataPath目录下(这个目录可以读写)。如果有新的资源,下载到的新assertbundle 会覆盖原来的资源。
5.Plugins 这个文件夹只能是Assets文件夹的直接子目录。它是用来放native插件的
 
关于assertbundle,unity  提供了BuildPipeline.BuildAssetBundles方法,我们可以用BuildPipeline.PushAssetDependencies()和BuildPipeline.PopAssetDependencies()处理资源依赖关系。比如:
//公共的关联性素材绑定
     A  BuildPipeline.PushAssetDependencies();
        assetfile = assetPath + "shared" + AppConst.ExtName;
        mainAsset = LoadAsset("UI/Shared/Atlas/Dialog.prefab");
        addis = new Object[3];
        addis[0] = LoadAsset("Atlas/BattleAtlas.prefab");
        addis[1] = LoadAsset("Atlas/CardAtlas.prefab");
        addis[2] = LoadAsset("Atlas/DialogAtlas.prefab");
  BuildPipeline.BuildAssetBundle(mainAsset, addis, assetfile, options, target);
///生成LoginPanel素材绑定
  B     BuildPipeline.PushAssetDependencies();
        mainAsset = LoadAsset("UI/Login/Prefabs/LoginPanel.prefab");
        assetfile = assetPath + "login" + AppConst.ExtName;
        BuildPipeline.BuildAssetBundle(mainAsset, null, assetfile, options, target);
    C    BuildPipeline.PopAssetDependencies();
///生成BattlePanel素材绑定
    D  BuildPipeline.PushAssetDependencies();
        mainAsset = LoadAsset("UI/Battle/Prefabs/BattlePanel.prefab");
        assetfile = assetPath + "battle" + AppConst.ExtName;
        addis = new Object[1];
        addis[0] = LoadAsset("UI/Battle/Prefabs/UICard.prefab");
        BuildPipeline.BuildAssetBundle(mainAsset, addis, assetfile, options, target);
    E    BuildPipeline.PopAssetDependencies();
    F  BuildPipeline.PopAssetDependencies();
 
A和F对应  B和C对应  D和E对应,说明LoginPanel和BattlePanel资源会用到公共资源shared的。
 
unity5 提供了自动处理依赖关系,不过每个资源都需要在编辑器上手动设置assetbundleName。

unity3d资源打包总结的更多相关文章

  1. unity3d 资源打包加密 整理

    资源打包脚本,放到Assets\Editor 文件夹下 using UnityEngine; using System.Collections; using UnityEditor; using Sy ...

  2. 跟我从零基础学习Unity3D开发--资源打包篇(AssetBundle)

    好久没更新了,一直在加班敢项目进度.这里和关注我的博客的童鞋表示一下歉意!这里有我录的Unity3D从零开始的视频教程大家可以关注一下:http://www.imooc.com/view/555  视 ...

  3. KEngine:Unity3D资源的打包、加载、调试监控

    资源模块做什么? 资源模块——ResourceModule,是KEngine中最核心的模块,其他模块基本或多或少的对它有依赖,它主要的功能是:资源打包.路径定义.资源管理.资源调试. 资源模块对Uni ...

  4. unity3d进行脚本资源打包加载

    原地址:http://www.cnblogs.com/hisiqi/p/3204752.html 本文记录如何通过unity3d进行脚本资源打包加载 1.创建TestDll.cs文件 public c ...

  5. Unity手游之路<十一>资源打包Assetbundle

    http://blog.csdn.net/janeky/article/details/17652021 在手游的运营过程中,更新资源是比不可少的.资源管理第一步是资源打包.传统的打包可以将所有物件制 ...

  6. Unity中资源打包成Assetsbundle的资料整理

    最近在研究Unity中关于资源打包的东西,网上看了一堆资料,这里做个整合,说整合,其实也就是Ctrl-C + Ctrl-V,不是原创 首先为了尊重原创,先贴出原创者的文章地址: http://blog ...

  7. Unity资源打包之Assetbundle

    转  Unity资源打包之Assetbundle 本文原创版权归 csdn janeky 所有,转载请详细注明原创作者及出处,以示尊重! 作者:janeky 原文:http://blog.csdn.n ...

  8. u3d外部资源 打包与加载的问题

    被坑了一下午,调bug,u3d外部加载资源一会可以,一会不行,始终找不到问题,最后快下班的时候,重新试了一下,原来是资源打包之前的文件名,和之后的加载资源名必须一样 [MenuItem("C ...

  9. u3d 场景资源打包

    搞了一天终于搞定u3d的场景打包,这样就可以不用修改太多程序,把资源放在外部修改了.好处多多 但是本来很简单的东西搞了一天,google来的说作为场景scene.unity 文件 打包成 unityd ...

随机推荐

  1. web容器启动后自动执行程序的几种方式比较

    1.       背景 1.1.       背景介绍 在web项目中我们有时会遇到这种需求,在web项目启动后需要开启线程去完成一些重要的工作,例如:往数据库中初始化一些数据,开启线程,初始化消息队 ...

  2. 张高兴的 Windows 10 IoT 开发笔记:RTC 时钟模块 DS3231

    GitHub:https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/DS3231 注意:不包含闹钟设置

  3. 张高兴的 Windows 10 IoT 开发笔记:使用 ULN2003A 控制步进电机

    GitHub:https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/ULN2003A

  4. ssh -T git@github.com出现Permission denied (publickey)

    参考自:http://blog.csdn.net/sunnypotter/article/details/18948053 参考自:http://stackoverflow.com/questions ...

  5. 容斥原理、欧拉函数、phi

    容斥原理: 直接摘用百度词条: 也可表示为 设S为有限集, ,则 两个集合的容斥关系公式:A∪B = A+B - A∩B (∩:重合的部分) 三个集合的容斥关系公式:A∪B∪C = A+B+C - A ...

  6. Sping AOP初级——入门及简单应用

    在上一篇<关于日志打印的几点建议以及非最佳实践>的末尾提到了日志打印更为高级的一种方式——利用Spring AOP.在打印日志时,通常都会在业务逻辑代码中插入日志打印的语句,这实际上是和业 ...

  7. C# 使用HtmlAgilityPack抓取网页信息

    前几天看到一篇博文:C# 爬虫 抓取小说 博主使用的是正则表达式获取小说的名字.目录以及内容. 下面使用HtmlAgilityPack来改写原博主的代码 在使用HtmlAgilityPack之前,可以 ...

  8. asp.net 第三方UI控件 Telerik KendoUI 之 TreeVIew 的用法记录

    一.前台显示 备注:一次性取出所有节点 function loadTreeData() { $.ajax({ type: 'POST', url: '@(Html.UrlHref("Scri ...

  9. javascript的一些算法的实用小技巧

    一.交换两个数字的值 我们交换两个数字的值想到的方法一般就是用一个新的变变量,让他把一个数存起来,然后在交换两个数字的值,看下面这种. var a = 1, b = 2; //交换两个数字的值 var ...

  10. nvm进行node多版本管理

    写在前面 nvm(nodejs version manager)是nodejs的管理工具,如果你需要快速更新node版本,并且不覆盖之前的版本:或者想要在不同的node版本之间进行切换: 使用nvm来 ...