zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    asp.net访问网络路径方法(模拟用户登录)
    C# List使用District去重复数据
    post跨域请求
    Win7 IIS配置 applicationHost.config 错误:无法识别的特性“setProfileEnvironment” 解决方法
    常见 SQL语句使用 增删改查
    wangEditor编辑器中解析html图文信息问题
    jQuery制作table表格布局插件带有列左右拖动效果
    vue 三目运算
    jQuery遍历 filter()方法
    js 的filter()方法
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7191720.html
Copyright © 2011-2022 走看看