Loxodon Framework Bundle是一个非常好用的AssetBundle加载器,也是一个AssetBundle冗余分析工具。它能够自动管理AssetBundle之间复杂的依赖关系,它通过引用计数来维护AssetBundle之间的依赖。你既可以预加载一个AssetBundle,自己管理它的释放,也可以直接通过异步的资源加载函数直接加载资源,资源加载函数会自动去查找资源所在的AB包,自动加载AB,使用完后又会自动释放AB。 它还支持弱缓存,如果对象模板已经在缓存中,则不需要重新去打开AB。它支持多种加载方式,WWW加载,UnityWebRequest加载,File方式的加载等等(在Unity5.6以上版本,请不要使用WWW加载器,它会产生内存峰值)。它提供了一个AssetBundle的打包界面,支持加密AB包(只建议加密敏感资源,因为会影响性能)。同时它也绕开了Unity3D早期版本的一些bug,比如多个协程并发加载同一个资源,在android系统会出错。它的冗余分析是通过解包AssetBundle进行的,这比在编辑器模式下分析的冗余更准确。
下载地址:AssetStore 下载
**QQ群:**622321589
打包工具介绍
- 编辑打包的工具:
- 打包后的文件概要信息
- 打包后的文件
- 冗余分析工具
- 冗余分析结果
使用示例
- 初始化IResources
整个项目面向接口设计,任何组件都是可以自定义或者可选的,下图是我默认的一个示例。
IResources CreateResources()
{
IResources resources = null;
#if UNITY_EDITOR
if (SimulationSetting.IsSimulationMode)
{
Debug.Log("Use SimulationResources. Run In Editor");
/* Create a PathInfoParser. */
//IPathInfoParser pathInfoParser = new SimplePathInfoParser("@");
IPathInfoParser pathInfoParser = new SimulationAutoMappingPathInfoParser();
/* Create a BundleManager */
IBundleManager manager = new SimulationBundleManager();
/* Create a BundleResources */
resources = new SimulationResources(pathInfoParser, manager);
}
else
#endif
{
/* Create a BundleManifestLoader. */
IBundleManifestLoader manifestLoader = new BundleManifestLoader();
/* Loads BundleManifest. */
BundleManifest manifest = manifestLoader.Load(BundleUtil.GetReadOnlyDirectory() + BundleSetting.ManifestFilename);
//manifest.ActiveVariants = new string[] { "", "sd" };
manifest.ActiveVariants = new string[] { "", "hd" };
/* Create a PathInfoParser. */
//IPathInfoParser pathInfoParser = new SimplePathInfoParser("@");
IPathInfoParser pathInfoPars