CocosCreator 的 AssetsBundle 来了!

现在的官方分包就能做到代码+原生资源分离

mark

mark1

mark

此贴必火,果断留名,大神牛批。
这个应该算是 subpackage-tools 的升级版了吧。
刚学会用 subpackage-tools,一套代码,确实也可以实现分包

如果你之前已经使用了 subpackage-tools 工具,并在项目中完成了【分包热更】的代码逻辑。切换新插件,仅需在旧【分包热更】的逻辑基础上,在分包热更完成后追加 cc.loader.downloader.loadSubpackage 逻辑即可

ccc v2.2.2

大佬,发现一个问题,非常简单的一个DEMO,帮看下~
DEMO:HotUpdateDemo3.zip (2.0 MB)
构建问题:
热更分包/远程分包,构建的时候,报红如:找不到目录: assets\modules\hall

插件小问题:
远程分包,构建生成的 manifest 文件中版本号,被写死为 0.0.1 了。

为项目设置插件面板配置的子包 – 这个无效,清除是可以的。

删除子包一条资源目录(点击后面垃圾桶图标),面板失去焦点了,点击其他输入框输入,无法输入,从其他页面切换回插件面板则正常

看你的目录格式,你好像是在 win 下使用,这个插件完全没有适配win,我这边没有win电脑,我只能盲目转一下目录格式

1.你的子包不是在 resources 目录下,如果资源没有直接或者间接被场景引用,这个资源是不会参与构建的,所以部分不参与构建的资源会找不到。

2.远程分包的版本号写死 0.0.1 是设计如此,因为远程分包会被完全从App中分离出来,使用前会必须先完全下载(热更)所有资源,所以版本号必须是一个最低版本,其次是 资源清单(assets字段)为空,这样才能保证远程包第一次热更时能完全下载所有资源

3.其他问题,应该就是目录为win格式导致的

1赞

关于 win 环境下使用插件的问题,实在抱歉,没有win电脑,很难修复win环境下的问题,而且最近手头较忙,估计要年后修复

mark

弱弱的问一句 那2.4去哪儿了。。。

报红如:找不到目录: assets\modules\hall
确实是windows电脑环境问题
getUrlByRelativepath(rPath) {
if (this._isUrl(rPath)) return rPath;
// 去除前后的 “/”
rPath.replace(//$/, “”);
rPath.replace(/^//, “”);
//////////
let isWindows = process.platform === ‘win32’;
if(isWindows){
rPath = rPath.replace(/\/g, ‘/’);
}
/////////
return “db://” + rPath;
}
这里加上这句就好了~~

1赞

nice 我会修复一下

ERROR:Asset update error: src/settings.jsc, Not Found 或 Asset update error: subpackages/hall/index.jsc, Not Found

发现如果构建发布的时候,如果没勾上“调试模式”,更新是会失败的(jsb.EventAssetsManager.UPDATE_FAILED = 9),不知大神你有没出现过,是怎么解决的呀~~

另外一个小问题,当子包使用了主包的资源,这个是允许的,插件也是能正常打包的,但是报了红有些扎眼,刚开始以为是很大问题,那个地方用这个Editer.log 就可以了吧~~

你说的两个情况我这边都没有出现过,是正常的。
构建时需要注意
1.不支持自动图集的分离
2.没有测试过 【内联所有 SpriteFrame】和 【合并图集中的 SpriteFrame 】
3.主包默认是公共包 并且主包的某些配置是无法在面板上修改的,可以自己打开配置文件查看一下主包的 isPrivate 属性值是否是 false
4.资源的安全性校验:任意一个子包是否引用了另一个私有包的资源以及当前子包是否有资源丢失的情况

按照你的描述,可能还是win的兼容问题

感谢大神回复哈~~

我这边验证是勾选“调式模式”,正常更新,不勾选"调试模式",更新失败。如果 Mac 上是正常的,都能正常更新,那么确实有可能是 win 兼容问题。这个问题后续我会继续再验证下。

这个插件棒极了,非常感谢~~~ 应该就只差自动图集的处理了,就完美了,我试过你上个版本 subpackage-tools 这个是支持自动图集的,拭目以待~~~

之所以没有把自动图集的功能抄过来,是因为感觉这个功能会随着编辑器版本的迭代越来越鸡肋。win平台的兼容问题我后续会找个空闲时间做统一修复

图集这个功能很实用呀,觉得鸡肋是被编辑器的哪些功能替代了呢?

因为打图集只是为了降低dc,而降低dc是游戏引擎到后期必要的优化功能,目前引擎已经做了些降低dc的处理,后面应该会更完善
所以图集是前期降低dc的一个手段,而后期,更多只是一个辅助功能
个人理解

你的 不勾选调试 问题,可能是你的热更逻辑问题吧
1.先校验服务器资源完整性 以及版本号正确
2.热更完成后,检验本地热更资源的完整性和版本号正确(具体做法可以用root的手机或者使用官方的【调试原生js】的方式)
3.确认main.js设置了搜索路径,热更完成后重启app