OEDx / oedx.github.io

OEDx 技术博客
https://oedx.github.io
7 stars 5 forks source link

Cocos Creator 纹理压缩插件化 #15

Open wzpan opened 5 years ago

wzpan commented 5 years ago

https://oedx.github.io/2019/06/20/CocosCreator-TextureCompression-Plugin/

在一些游戏类应用或者移动应用中,图片资源所耗的内存往往是整个App内存占用的大头。在早期开发过程中,为了追求更好的体验效果,往往使用了很多高清的资源,这些高清资源往往占用了很大的内存。 而对于移动端设备来说,内存是有限的,尤其对于一些早期的设备,比如第一代的iPad,RAM才512MB,如果要兼容这些老款的设备,无疑对内存的使用要变得很节制。特别对于iOS设备来说,App的内存不能无限制的使用下

a85265656 commented 5 years ago

按照步骤不可用~压缩PVR失败:Error: Command failed: PVRTexToolCLI -i。路径都改了 还是找不到 etc2压缩也是失败。。应该还有什么环境配置没上 使用的是creator1.10.3

lxw5689 commented 5 years ago

@a85265656 按照步骤不可用~压缩PVR失败:Error: Command failed: PVRTexToolCLI -i。路径都改了 还是找不到 etc2压缩也是失败。。应该还有什么环境配置没上 使用的是creator1.10.3

请问你用的是什么系统呢?可以看一下你设置的路径下面是否有PVRTexToolCLI 以及ETC2的路径是否有etcpack文件

wzpan commented 5 years ago

@lxw5689

@a85265656 按照步骤不可用~压缩PVR失败:Error: Command failed: PVRTexToolCLI -i。路径都改了 还是找不到 etc2压缩也是失败。。应该还有什么环境配置没上 使用的是creator1.10.3

请问你用的是什么系统呢?可以看一下你设置的路径下面是否有PVRTexToolCLI 以及ETC2的路径是否有etcpack文件

可以试试直接在终端里执行 PVRTexToolCLI 。如果执行失败,说明这个工具没有在环境变量里。

Kevinlwg commented 5 years ago

@wzpan

@lxw5689

@a85265656 按照步骤不可用~压缩PVR失败:Error: Command failed: PVRTexToolCLI -i。路径都改了 还是找不到 etc2压缩也是失败。。应该还有什么环境配置没上 使用的是creator1.10.3

请问你用的是什么系统呢?可以看一下你设置的路径下面是否有PVRTexToolCLI 以及ETC2的路径是否有etcpack文件

可以试试直接在终端里执行 PVRTexToolCLI 。如果执行失败,说明这个工具没有在环境变量里。

@wzpan

@lxw5689

@a85265656 按照步骤不可用~压缩PVR失败:Error: Command failed: PVRTexToolCLI -i。路径都改了 还是找不到 etc2压缩也是失败。。应该还有什么环境配置没上 使用的是creator1.10.3

请问你用的是什么系统呢?可以看一下你设置的路径下面是否有PVRTexToolCLI 以及ETC2的路径是否有etcpack文件

可以试试直接在终端里执行 PVRTexToolCLI 。如果执行失败,说明这个工具没有在环境变量里。

执行后得到这个,PVRTexToolCLI: command not found,请问如何解决呢

wzpan commented 5 years ago

@a85265656 按照步骤不可用~压缩PVR失败:Error: Command failed: PVRTexToolCLI -i。路径都改了 还是找不到 etc2压缩也是失败。。应该还有什么环境配置没上 使用的是creator1.10.3

请确保 PVRTexToolCLI 的路径在你的 PATH 系统环境变量里头。Windows 下需要在系统里添加 PATH ;*nix 系统则可以通过修改 .bashrc 往里追加到 PATH 中。具体可以搜索一下做法。

Kevinlwg commented 5 years ago

@wzpan

@a85265656 按照步骤不可用~压缩PVR失败:Error: Command failed: PVRTexToolCLI -i。路径都改了 还是找不到 etc2压缩也是失败。。应该还有什么环境配置没上 使用的是creator1.10.3

请确保 PVRTexToolCLI 的路径在你的 PATH 系统环境变量里头。Windows 下需要在系统里添加 PATH ;*nix 系统则可以通过修改 .bashrc 往里追加到 PATH 中。具体可以搜索一下做法。

2.0.9版本参照的https://github.com/cocos-creator/cocos2d-x-lite/pull/1685/files/7059a84652e4c4aa9fd84d8ad96a4a2ba3b803eb,修改支持ETC2,iOS上运行后图片未显示出来,报错:Failed to invoke JSB_glTexImage2D:build/jsb-default/frameworks/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_opengl_manual.cpp:2177 请问知道如何解决吗~~~

lxw5689 commented 5 years ago

@Kevinlwg

@wzpan

@lxw5689

@a85265656 按照步骤不可用~压缩PVR失败:Error: Command failed: PVRTexToolCLI -i。路径都改了 还是找不到 etc2压缩也是失败。。应该还有什么环境配置没上 使用的是creator1.10.3

请问你用的是什么系统呢?可以看一下你设置的路径下面是否有PVRTexToolCLI 以及ETC2的路径是否有etcpack文件

可以试试直接在终端里执行 PVRTexToolCLI 。如果执行失败,说明这个工具没有在环境变量里。

@wzpan

@lxw5689

@a85265656 按照步骤不可用~压缩PVR失败:Error: Command failed: PVRTexToolCLI -i。路径都改了 还是找不到 etc2压缩也是失败。。应该还有什么环境配置没上 使用的是creator1.10.3

请问你用的是什么系统呢?可以看一下你设置的路径下面是否有PVRTexToolCLI 以及ETC2的路径是否有etcpack文件

可以试试直接在终端里执行 PVRTexToolCLI 。如果执行失败,说明这个工具没有在环境变量里。

执行后得到这个,PVRTexToolCLI: command not found,请问如何解决呢

  1. 首先要确保纹理压缩工具都下载安装了。
  2. 确认一下/Applications/Imagination/PowerVR_Graphics/PowerVR_Tools/PVRTexTool/CLI/OSX_x86 路径下面有没有PVRTexToolCLI 这文件
  3. 确保这些路径添加到了toolsEnv.json文件里
Kevinlwg commented 5 years ago

@lxw5689

@Kevinlwg

@wzpan

@lxw5689

@a85265656 按照步骤不可用~压缩PVR失败:Error: Command failed: PVRTexToolCLI -i。路径都改了 还是找不到 etc2压缩也是失败。。应该还有什么环境配置没上 使用的是creator1.10.3

请问你用的是什么系统呢?可以看一下你设置的路径下面是否有PVRTexToolCLI 以及ETC2的路径是否有etcpack文件

可以试试直接在终端里执行 PVRTexToolCLI 。如果执行失败,说明这个工具没有在环境变量里。

@wzpan

@lxw5689

@a85265656 按照步骤不可用~压缩PVR失败:Error: Command failed: PVRTexToolCLI -i。路径都改了 还是找不到 etc2压缩也是失败。。应该还有什么环境配置没上 使用的是creator1.10.3

请问你用的是什么系统呢?可以看一下你设置的路径下面是否有PVRTexToolCLI 以及ETC2的路径是否有etcpack文件

可以试试直接在终端里执行 PVRTexToolCLI 。如果执行失败,说明这个工具没有在环境变量里。

执行后得到这个,PVRTexToolCLI: command not found,请问如何解决呢

  1. 首先要确保纹理压缩工具都下载安装了。
  2. 确认一下/Applications/Imagination/PowerVR_Graphics/PowerVR_Tools/PVRTexTool/CLI/OSX_x86 路径下面有没有PVRTexToolCLI 这文件
  3. 确保这些路径添加到了toolsEnv.json文件里

现在能压缩图片了,但是2.0.9打包iOS上不能正常显示。引擎修改是参照的https://github.com/cocos-creator/cocos2d-x-lite/pull/1685/files/7059a84652e4c4aa9fd84d8ad96a4a2ba3b803eb,修改支持ETC2。报错:Failed to invoke JSB_glTexImage2D:build/jsb-default/frameworks/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_opengl_manual.cpp:2177 请问知道如何解决吗~~~

lxw5689 commented 5 years ago

@Kevinlwg

@wzpan

@a85265656 按照步骤不可用~压缩PVR失败:Error: Command failed: PVRTexToolCLI -i。路径都改了 还是找不到 etc2压缩也是失败。。应该还有什么环境配置没上 使用的是creator1.10.3

请确保 PVRTexToolCLI 的路径在你的 PATH 系统环境变量里头。Windows 下需要在系统里添加 PATH ;*nix 系统则可以通过修改 .bashrc 往里追加到 PATH 中。具体可以搜索一下做法。

2.0.9版本参照的https://github.com/cocos-creator/cocos2d-x-lite/pull/1685/files/7059a84652e4c4aa9fd84d8ad96a4a2ba3b803eb,修改支持ETC2,iOS上运行后图片未显示出来,报错:Failed to invoke JSB_glTexImage2D:build/jsb-default/frameworks/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_opengl_manual.cpp:2177 请问知道如何解决吗~~~

是不是没有修改完全,可以参考https://forum.cocos.com/t/cocos-etc2/49061这个,不过这个只在1.10以下版本用过,2.0以上没有试过

Kevinlwg commented 5 years ago

@lxw5689

@Kevinlwg

@wzpan

@a85265656 按照步骤不可用~压缩PVR失败:Error: Command failed: PVRTexToolCLI -i。路径都改了 还是找不到 etc2压缩也是失败。。应该还有什么环境配置没上 使用的是creator1.10.3

请确保 PVRTexToolCLI 的路径在你的 PATH 系统环境变量里头。Windows 下需要在系统里添加 PATH ;*nix 系统则可以通过修改 .bashrc 往里追加到 PATH 中。具体可以搜索一下做法。

2.0.9版本参照的https://github.com/cocos-creator/cocos2d-x-lite/pull/1685/files/7059a84652e4c4aa9fd84d8ad96a4a2ba3b803eb,修改支持ETC2,iOS上运行后图片未显示出来,报错:Failed to invoke JSB_glTexImage2D:build/jsb-default/frameworks/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_opengl_manual.cpp:2177 请问知道如何解决吗~~~

是不是没有修改完全,可以参考https://forum.cocos.com/t/cocos-etc2/49061这个,不过这个只在1.10以下版本用过,2.0以上没有试过

嗯,这个帖子是针对1.10以下的,2.0以上引擎底层渲染逻辑都改了。

Kevinlwg commented 5 years ago

@lxw5689

@Kevinlwg

@wzpan

@a85265656 按照步骤不可用~压缩PVR失败:Error: Command failed: PVRTexToolCLI -i。路径都改了 还是找不到 etc2压缩也是失败。。应该还有什么环境配置没上 使用的是creator1.10.3

请确保 PVRTexToolCLI 的路径在你的 PATH 系统环境变量里头。Windows 下需要在系统里添加 PATH ;*nix 系统则可以通过修改 .bashrc 往里追加到 PATH 中。具体可以搜索一下做法。

2.0.9版本参照的https://github.com/cocos-creator/cocos2d-x-lite/pull/1685/files/7059a84652e4c4aa9fd84d8ad96a4a2ba3b803eb,修改支持ETC2,iOS上运行后图片未显示出来,报错:Failed to invoke JSB_glTexImage2D:build/jsb-default/frameworks/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_opengl_manual.cpp:2177 请问知道如何解决吗~~~

是不是没有修改完全,可以参考https://forum.cocos.com/t/cocos-etc2/49061这个,不过这个只在1.10以下版本用过,2.0以上没有试

再请教一下,你们纹理压缩后packResIOS里面的png图片能打开看吗?我这里发现在Mac环境下面预览不了。有没有可能纹理压缩的有问题,所以iOS工程读取不到图片。

942Avril commented 5 years ago

只支持1.0版本?2.0以上不支持么?

Kevinlwg commented 5 years ago

@lxw5689

@Kevinlwg

@wzpan

@a85265656 按照步骤不可用~压缩PVR失败:Error: Command failed: PVRTexToolCLI -i。路径都改了 还是找不到 etc2压缩也是失败。。应该还有什么环境配置没上 使用的是creator1.10.3

请确保 PVRTexToolCLI 的路径在你的 PATH 系统环境变量里头。Windows 下需要在系统里添加 PATH ;*nix 系统则可以通过修改 .bashrc 往里追加到 PATH 中。具体可以搜索一下做法。

2.0.9版本参照的https://github.com/cocos-creator/cocos2d-x-lite/pull/1685/files/7059a84652e4c4aa9fd84d8ad96a4a2ba3b803eb,修改支持ETC2,iOS上运行后图片未显示出来,报错:Failed to invoke JSB_glTexImage2D:build/jsb-default/frameworks/cocos2d-x/cocos/scripting/js-bindings/manual/jsb_opengl_manual.cpp:2177 请问知道如何解决吗~~~

是不是没有修改完全,可以参考https://forum.cocos.com/t/cocos-etc2/49061这个,不过这个只在1.10以下版本用过,2.0以上没有试过

1.9.3版本下运行压缩的时候报如下错误,请问还需要什么控件支持么? Error: ENOENT: no such file or directory, uv_chdir

goodleon commented 5 years ago

博主您好,非常感谢分享那么好的工具:) 1: 我使用mac 系统(10.14.5 ) 2: creater 版本(2.1.1)

遇到三个问题 1: PVRTexToolCLI 找不到 解决方案: 添加到环境变量中 2: etcpack 找不到 解决方案: 添加到环境变量中 3: pack.js 中的 Editor.projectPath 是 'undefined'的 临时解决方案: 根据我自己项目的目录结构先写死 'Editor.projectPath '的值

goodleon commented 5 years ago

creater 版本(2.1.1)

接入 https://github.com/cocos-creator/cocos2d-x-lite/pull/1685/files/7059a84652e4c4aa9fd84d8ad96a4a2ba3b803eb 也会遇到jsb_opengl_manual.cpp:2177 报错的问题, 如下面的链接的描述, https://forum.cocos.com/t/etc2-etc2-demo/77350

求对2.1.1的解决方案啊

SantyWang commented 4 years ago

考虑上插件商店么

zuoshuo123456 commented 3 years ago

Creator2.2.2支持使用这个插件么?

wzpan commented 3 years ago

@zuoshuo123456 我们上个版本就是用的2.2.2,现在升级到2.3.4也可以正常用。不过的确又做了一些定制调整。等我们后面完善好再开源出来。

1046256040 commented 3 years ago

@wzpan @zuoshuo123456 我们上个版本就是用的2.2.2,现在升级到2.3.4也可以正常用。不过的确又做了一些定制调整。等我们后面完善好再开源出来。

支持2.2.0的能否开源下呢,官方2.2.0目前的转etc2实在太慢