求助:etc1压缩纹理黑屏报错

  • Creator 版本:2.1.0

  • 目标平台: Web / Android

  • 详细报错信息,包含调用堆栈:

02-22 15:26:38.150 23673-23701/? E/jswrapper: jsb: ERROR: File /Users/fengkerong/work/output/shadertest/jsb-default/frameworks/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_opengl_manual.cpp: Line: 2163, Function: JSB_glTexImage2D
[ERROR] Failed to invoke JSB_glTexImage2D, location: /Users/fengkerong/work/output/shadertest/jsb-default/frameworks/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_opengl_manual.cpp:2176
02-22 15:26:38.152 23673-23701/? E/jswrapper: jsb: ERROR: File /Users/fengkerong/work/output/shadertest/jsb-default/frameworks/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_opengl_manual.cpp: Line: 2163, Function: JSB_glTexImage2D
[ERROR] Failed to invoke JSB_glTexImage2D, location: /Users/fengkerong/work/output/shadertest/jsb-default/frameworks/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_opengl_manual.cpp:2176

由于项目中纹理资源较多
在微信小游戏环境下频繁闪退
不知道各位有没有遇到
默认情况下1024*1024大小的纹理占4MB
游戏加载500MB的纹理资源后微信就崩溃了(小米mix2和众多安卓机)

于是想试一下纹理压缩
用的2.1.0版本,但无论发布微信小游戏还是原生apk都黑屏
没搞错的话该版本应该已经支持安卓原生+etc1的

我的具体操作是按照论坛帖子来的https://forum.cocos.com/t/creator/47206
唯一不同是我没有修改shader代码(我觉得应该也不会影响,只是没有处理透明度而已)
用的唯一一张贴图是512*512尺寸的,横竖都是二次幂

请问
1.这报错怎么解决?
2.如果正确使用etc压缩纹理?

@colinsusie 可以分享一下你现在的压缩纹理策略么,包括引擎版本,打包平台,以及压缩方法~

2.1好像内部做了判断 ~ 挺坑的 我做了试验 当你ios选择纹理打包 pvrtc_4 的时候 那么它才能辨认这张图片是做了该纹理压缩 要是手动改成 pvrtc_2 都报错 改成正常png也报错 如果当时没有选择纹理压缩 该图片手动纹理压缩也报错 。2.0之前版本好像是会自动能识别的 有没有压缩图片只要名称一致都能用。 2.1反倒变成指向性了。 目前2.1安卓并没有etc1的选项 你手动压缩必然黑屏。应该要改底层那个图片脚本。

我的没报错 但图片全变成黑块了