zoukankan      html  css  js  c++  java
  • AssetBundleMaster_Introduce_EN

      This is an integrated solution for building AssetBundles and loading Assets. what it can do is about to set and build AssetBundles automatically, and provide load APIs. It implemented the auto resource control on Prefbs(Instantiated GameObjects) and Scenes, and implemented the weak reference tech on all assets to ensure the assets will not duplicated in memory as possible as it can, and guarantee the assets will be unloaded correctly.

      Supported : Unity5, Unity2017, Unity2018, Unity2019

      The Features : 

      1. Set AssetBundle automatically: no asset duplicated, minimal the size of AssetBundles, pack referenced assets together if they will not duplicated, minimal the numbers of AssetBundles, minimal the loading time.

      2. Auto asset processing: atuo create SpriteAtlas, prevent built-in shader compiled multi times… etc.

      3. Runtime assets auto control: the Prefab instance and Scene assets was totally controlled, when GameObject pool was destroyed or scene was unloaded the auto resource control will decide unload assets or not Automatically. no asset duplicated in memory.

      4. Runtime assets semi-auto control: all the assets was referenced by weakreference in the mid-level controller, it can make sure assets will not duplicated in memory as it can.

      5. Developer friendly: load assets in Editor no need to build or do anything else, and the unload logic works on any load mode(we have 5 kinds of load modes). All APIs come from singleton and lazy-init, APIs looks like the UnityEngine.Resources APIs, no more learning costs. All the APIs that has Generic type and Non-generic type, good for developers who is using lua script. Only 3 Buttons click for building AssetBundles, and the build can have platform and version selection, and Patch info file between versions can be generated if you want, convience for AssetBundle updating.

      6. No maintenance: any one request unload any asset will not forece unload the asset while someone else is using the asset, you just to request load and unload assets by you need, the auto resource control will decide to unload or not. it can reduce coupling.

      7. Performance: full of ObjectPools. Unload asset may call AssetBundle.Unload(true) or call AssetBundle.Unload(false) + Resources.UnloadUnusedAssets(), decided by auto resource control, can make unload proccess more efficiency.

      8. Computable overhead: the auto controller cause a little overhead, it mainly comes from AssetBundle (loaded) serialized file, depending on which platform you published. For example PC takes 2*7KB for each, but the Android it takes 2*256KB for each (datas from Unity5). it can be caculated.

      9. Full Demos: we have 12 demo scenes, all the APIs was used in demo scene scripts, you can learn to use and test with Profiler easily.

       

      These are what AssetBundleMaster can do, simplify the AssetBundle build proccess, reduce coupling, powerful API.

      It's recommand that don't set assetbundle manually, even though your project has special need for updating or something else, in most cases they don't match the characteristic of the engine.

      Hope this solution can help you, Have fun.

  • 相关阅读:
    Python学习Day1
    Linux使用外部邮箱发送邮件
    Linux命令学习1(awk、grep、sed)
    html笔记之表格
    html笔记之认识标签
    zabbix笔记之告警配置
    zabbix笔记之zabbix基础知识了解
    Windows之80端口被系统占用
    python笔记之流程控制
    python笔记之基本数据类型
  • 原文地址:https://www.cnblogs.com/tiancaiwrk/p/11371973.html
Copyright © 2011-2022 走看看