res下的import 是不能打在obb包内的 但问题依旧存在 只是大大减小了 还是有资源无法读取 mp4肯定是不行了 现在怀疑粒子也是有问题。。 各种坑啊。。。整个简单的obb都搞死 哎哎。。
OBB 的资源应该引擎内部去读取就可以了。多线程访问资源都可能会有问题:
- 引擎本身的代码不是线程安全的
- 读取资源后可能会调用 opengl 代码,这也是不安全的
- 执行 js 脚本也存在线程安全问题
根据上面修改spine依旧会报错提示看来除了jpg和png什么都有风险
又来新问题了…用了obb 把mp3都打包到apk了!还是没声音、声音文件错误.整包又没问题.这个又什么问题…
我这里是没有什么问题
你可以看看源码:
正常FileUtil的情况是,判断是否有OBB,有OBB尝试从OBB读取,OBB不存在,从包体本身读取
而声音文件的处理方法在Java层是这样的:
有OBB,从OBB读取
没有OBB,从包体本身读取。
所以有OBB的情况,
1.把音效相关放到OBB里面。
2.改Java代码,音效判断OBB的代码注释掉
那不知道obb包内资源做纹理压缩会不会出问题
因为纹理压缩后还有zip再压一遍图片 缩小体积
java直接改成进入obb判断内?正常有obb不就是进入那个判断内吗 还需要改什么?mp3的json文件和源文件都丢到opp了!还没声音 搞不懂…
不好意思,没看到回复。
确实是的,这个BUG三年前我做cocos2dx的时候就遇到过,也是一样的解决方法加线程锁
只是没想到CCC没解决这个BUG。
最近使用obb也遇到了,结果就是obb暂时只能放图片和音频文件,而且图片和音频不能是压缩过的,压缩的资源能找到,但是读取不到数据,不知道是不是多次压缩的问题,还有obb文件夹不能叫assets。
通过查看源码确认 lite 是支持 OBB 的,代码和 -x 也没什么区别,问题不是不支持 OBB 引起的。问题是开发者在不同线程中调用引擎代码导致出问题。引擎的代码不是线程安全的。如果把引擎的部分代码改成线程安全也是没有意义的,而且也会降低引擎的性能。
因此该问题不建议修改,开发者如果要在多线程使用的话,自己去定制引擎吧。
creator有没有obb分包的例子啊
感谢层主。本人遇到一个问题,使用jobb命令行生成的obb包拷贝到手机目录下后,creator无法挂载;使用zip打包后,必须手动将后缀改为.obb;现在用楼主这个7Z命令行可以完美解决(7z a -tzip -mx0 %obb_name% % source_dir%)
发现obb包也不支持ttf字体库文件

