Unity3d 开发(七)AssetBundle组织文件夹
本文探讨怎样配置一个AssetBundle更为合理。
对于结构为
的文件夹结构,当中shared是Hero文件夹下须要用到的公用资源。即公有依赖。可採用例如以下的打包策略
整个文件夹打包
将整个100001文件夹标记为一个包,打包完毕后它将依赖shared。
Assets:
- Assets/Characters/Hero/100001/Model/Materials/bianshi_w.mat
- Assets/Characters/Hero/100001/Model/Materials/bianshi_01.mat
- Assets/Characters/Hero/100001/Model/bianshi_01.jpg
- Assets/Characters/Hero/100001/Model/100001.FBX
- Assets/Characters/Hero/100001/100001.prefab
- Assets/Characters/Hero/100001/override.overrideController
- Assets/Characters/Hero/100001/Model/bianshi_w.JPG
Dependencies:
- AssetBundles/Android/shared
大小为120k,shared为4K
仅仅标记预设
将用到的预设标记为一个包。其它资源自己主动依赖。
Assets:
- Assets/Characters/Hero/100001/100001.prefab
Dependencies:
- AssetBundles/Android/shared
大小为117k。shared为4K
可见当包中文件多时,是会添加大小的。
我比照了加载文件,它们全然一致。我可以猜測多出来的字节数应该为文件标识。即为了可以依据不同的名字找到资源,须要承担存储标签的开销。
所以结论是:在无需区分文件时,尽量不要在Bundle中区分不同的文件。
DLC适配
假设须要为资源设置多种模型、材质、贴图匹配。就要更改Variant
的配置。所以就须要将资源单分成一个包,并为其指定变量类型。
结论
综上所述,打包的文件夹结构应该是为
- 预设文件单独指定包。
- 资源文件夹假设不需区分DLC则不用处理。
如需区分资源要整文件夹打包。并设置变量。然后在加载时更改
AssetBundleManager.ActiveVariants
Unity3d 开发(七)AssetBundle组织文件夹的更多相关文章
- PHPCMS V9二次开发便捷自定义后台入口文件夹
phpcms v9二次开发便捷自定义后台入口文件夹 最新发布的phpcms v9由于采用了mvc的设计模式,所以它的后台访问地址是固定的,虽然可以通过修改路由配置文件来实现修改,但每次都修改路由配置文 ...
- Unity3d各平台资源路径文件夹
之前一直是PC项目,公司终于考虑移动平台了,但是试验了几把,感觉移动平台资源管理路径还是有很多隐藏的注意事项. 比如在PC上可以做到随便读写,但是在移动平台就涉及到权限问题. 看到小伙伴的总结,还是要 ...
- Unity3d中所有特殊的文件夹
1.Editor Editor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以.比如目录:/xxx/xxx/Editor 和 /Editor 是一样的,无论多少个叫Editor的 ...
- Unity3D引擎中特殊的文件夹
Editor Editor文件夹可以在根目录下,可以在子目录里,只要名是Editor就可以./xxx/xxx/Editor 和 /Editor 是一样的,多少个叫Editor的文件夹都可以.Edit ...
- Unity3D开发七惑
使用Unity3D开发也有大半年了,心中存惑如下,愿与各位开发者一起探讨: (1) 远离普适编程之惑 随着游戏引擎的不断发展,游戏程序员的开发层级也越来越高,以unity3d尤为突出.如果是进行We ...
- Android开发手记(21) 遍历文件夹
我们在遍历文件夹的时候由于涉及到SD卡相关操作,所以我们需要添加如下权限: <uses-permission android:name="android.permission.WRIT ...
- NX二次开发-UFUN打开选择文件夹对话框UF_UI_create_filebox
#include <uf.h> #include <uf_ui.h> #include <string> using namespace std; string O ...
- NX二次开发-弹出选择文件夹对话框
这个UFUN和NOPEN里没有对应的函数和类,要用C++的方法去做. #include "afxdialogex.h"//弹出选择文件夹对话框头文件 #include " ...
- 如何组织较大项目的MVC文件夹结构
现在还用不到,拷贝下来备用,原文链接 2016 年 9 月 第 31 卷,第 9 期 ASP.NET Core - ASP.NET Core MVC 的功能切分 作者 Steve Smith | 20 ...
随机推荐
- unity 获取UGUI中的Text字的坐标
using System.Collections; using UnityEngine; using UnityEngine.UI; public class TextMoveHelper : Mon ...
- Set&Map区别Array
Set&Map区别Array 在Set内部,两个NaN是相等.两个对象总是不相等的.可以用length来检测 四个操作方法: add(value):添加某个值,返回Set结构本身. delet ...
- JS中Math函数基础
Math 是数学函数,但又属于对象数据类型 typeof Math => ‘object’
- 分库代价高的情况下,如何优化ES解决亿级数据量检索
数据平台已迭代三个版本,从一开始遇到很多常见的难题,到现在终于有片段时间整理一些已完善的文档,在此分享以供所需朋友的实现参考,但愿能帮助大家少走些弯路,在此篇幅中偏重于ElasticSearch的优化 ...
- ASP.NET-ActionResutlt
@RenderPage("Page_part1"); 上面的这种写法是错误的应该是 @RenderPage("Page_part1.cshtml"); // 要 ...
- 【转载】Select函数实现原理分析
Select函数实现原理分析 <原文> select需要驱动程序的支持,驱动程序实现fops内的poll函数.select通过每个设备文件对应的poll函数提供的信息判断当前是否有资源可用 ...
- linux中sed的使用方法具体解释(对行数据的加入、删除等)
sed使用语法 [root@fwq test]# sed --help 使用方法: sed [选项]... {脚本(假设没有其它脚本)} [输入文件]... -n, --quiet, --silent ...
- BZOJ 1007: [HNOI2008]水平可见直线 平面直线
1007: [HNOI2008]水平可见直线 Description 在xoy直角坐标平面上有n条直线L1,L2,...Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为可见的,否则 ...
- m_Orchestrate learning system---九、在无法保证是否有图片的情况下,如何保证页面格式
m_Orchestrate learning system---九.在无法保证是否有图片的情况下,如何保证页面格式 一.总结 一句话总结:都配上默认缩略图就可以解决了 1.如何获取页面get方式传过来 ...
- ES不设置副本是非常脆弱的,整个文章告诉了你为什么
Delaying Shard Allocation As discussed way back in Scale Horizontally, Elasticsearch will automatica ...