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. C# 使用itextsharp 读取pdf中文字坐标

      程序调用: using iTextSharp.text.pdf; using System; using System.Collections.Generic; using System.Linq ...

  2. win10 uwp 视差效果

    本文翻译:http://jamescroft.co.uk/blog/uwp/playing-with-scrolling-parallax-effects-on-ui-elements-in-wind ...

  3. Prometheus 到底 NB 在哪里?- 每天5分钟玩转 Docker 容器技术(84)

    本节讨论 Prometheus 的核心,多维数据模型.我们先来看一个例子. 比如要监控容器 webapp1 的内存使用情况,最传统和典型的方法是定义一个指标 container_memory_usag ...

  4. (转)JVM性能调优之生成堆的dump文件

    转自:http://blog.csdn.net/lifuxiangcaohui/article/details/37992725 最近因项目存在内存泄漏,故进行大规模的JVM性能调优 , 现把经验做一 ...

  5. iOS 通讯录空格

    iOS 通讯录联系人出现 ASCII 码值为 160 的空格  NOTE:       这里的"空格"是指 在通讯录中取出的联系人中带有特殊空格 带有特殊空格的字符串 " ...

  6. Windows搭建golang开发平台

    Golang是谷歌开发的一款开源性语言,暂时比较方便的IDE有Inteillj Idea.LiteIDE.Eclipse(Golipse)等,使用起来比较方便的IDE:LiteIDE和Inteillj ...

  7. .4-Vue源码之数据劫持(2)

    开播了开播了! vue通过数据劫持来达到监听和操作DOM更新,上一节简述了数组变化是如何监听的,这一节先讲讲对象属性是如何劫持的. // Line-855 Observer.prototype.wal ...

  8. Android 开发笔记___RadioButton

    horizontal <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" and ...

  9. linux-less

    linux-less less是more命令的进化版.拥有与more命令一样的向前向后向下向上的数据查看功能,同时less还可以在查看内容中进行快速查找,关于数据向上向下操作,可以看看这个http:/ ...

  10. CSS实现父元素半透明,子元素不透明

    CSS实现父元素半透明,子元素不透明. 很久以来大家都习惯使用opacity:0.5在新式浏览器里实现半透明,而对IE较旧的版本使用filter:Alpha(opacity=0.5)的滤镜来实现半透明 ...