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的更多相关文章
随机推荐
- 再次体会wireshark的威力!
今天一位同学给我打电话,说是重启了客户机房里的一台服务器A,重启之后此台服务器不能与B服务器通信了,要命的是A台服务器上有关键数据需要与B服务器进行通信交互.客户大发雷霆,同学的老板也发火一再催促要尽 ...
- lua 13 模块(类似class)与包
转自: http://www.runoob.com/lua/lua-modules-packages.html 模块类似于一个封装库,从 Lua 5.1 开始,Lua 加入了标准的模块管理机制,可以把 ...
- LG4556 [Vani有约会]雨天的尾巴 动态开点线段树+线段树合并
问题描述 LG4556 题解 对于每一个结点,建立一棵动态开点线段树. 然后自低向上合并线段树. 同时维护整个值域的最大值和最大值位置. \(\mathrm{Code}\) #include<b ...
- luoguP4103 [HEOI2014]大工程
题意 建出虚树DP. 设\(f[i]\)表示i的子树的第一问答案,\(minn[i]\)表示\(i\)的子树中到\(i\)最近的关键点,\(maxx[i]\)表示\(i\)的子树中到i距离最远的关键点 ...
- 工具资源系列之给 windows 虚拟机装个 windows
前面我们已经介绍了如何在 Windows 宿主机安装 VMware 虚拟机,这节我们将利用安装好的 VMware 软件安装 Windows 系统. 前情回顾 虚拟机是相对于真实的物理机而言的概念,是在 ...
- ClassLoader.getSystemResourceAsStream("a.txt")获取不到资源文件
一.解决方案 换成XXX.class.getClassLoader().getResourceAsStream("a.txt")即可. 二.场景复现 src/main/resour ...
- 前后端通信—webSocket(支持跨域)
WebSocket 的介绍 WebSocket 是什么 WebSocket 是一种网络通信协议.RFC6455 定义了它的通信标准. WebSocket 是 HTML5 开始提供的一种在单个 TCP ...
- webrtc笔记(5): 基于kurento media server的多人视频聊天示例
这是kurento tutorial中的一个例子(groupCall),用于多人音视频通话,效果如下: 登录界面: 聊天界面: 运行方法: 1.本地用docker把kurento server跑起来 ...
- 关于Pragma
/** This is a introduction of how to use pragma. */ #pragma once /// This is used for include the he ...
- 前端实现的canvas支持多图压缩并打包下载的工具
# 技术栈 canvas jszip.js(网页端压缩解压缩插件JSZIP库) FileSaver.js(文件保存到本地库) 在线预览:http://htmlpreview.github.io/?ht ...