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.
AssetBundleMaster_Introduce_EN的更多相关文章
随机推荐
- 运行java程序
使用方式: java类名 硬盘上有HelloWorld.class,那么类名就是HelloWorld java HelloWorld[运行先到class路径下] 一定要注意:java命令后面跟的不是文 ...
- 线段树set,add基础
UVA11992 Fast Matrix Operations https://www.luogu.org/problem/UVA11992 此类模板题建议随便打打就行了233....
- 【转】gdb的调试与使用
转载自:https://www.jianshu.com/p/7a06b0bda2d8 gdb的调试与使用 这篇应该是我见过的总结最详细的gdb调试指南了,这位博主是个很强的人,他的博客对萌新比较友好, ...
- day2_窗口句柄切换
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/7/16 14:21 # @Author : 大坏男孩 # @File : d ...
- Mondb
1. MongoDB简介 • MongoDB是为快速开发互联网Web应用而设计的数据库系统.• MongoDB的设计目标是极简.灵活.作为Web应用栈的一部分.• MongoDB的数据模型是面向文档的 ...
- 【BZOJ3600】没有人的算术(替罪羊树+线段树)
点此看题面 大致题意: 定义任意数对\(>0\),数对之间比大小先比第一位.后比第二位,一开始数列全为\(0\),要求你支持\(a_k=(a_x,a_y)\)和询问区间最大值所在位置两种操作. ...
- 洛谷P1283 平板涂色 &&一本通1445:平板涂色
题目描述 CE数码公司开发了一种名为自动涂色机(APM)的产品.它能用预定的颜色给一块由不同尺寸且互不覆盖的矩形构成的平板涂色. 为了涂色,APM需要使用一组刷子.每个刷子涂一种不同的颜色C.APM拿 ...
- guava(四)区间Ranges
一.构建区间 (a..b) open(C, C) [a..b] closed(C, C) [a..b) closedOpen(C, C) (a..b] openClosed(C, C) (a..+∞) ...
- PHP匿名函数的写法
传统写法<pre>function timer () { echo "hello world";}Swoole\Timer::tick(2000, 'timer');& ...
- APP兼容性测试 (一) 机型选择概要
一.App兼容性问题有哪些 安装失败.启动失败.卸载失败,卸载不干净. 程序运行过程中闪退 部分控件显示不完整或者功能失效 屏幕显示异常 图片展示不全等 二.App兼容性测试的核心要点 测试软件是否能 ...