-
Creator 版本:2.3.1
-
目标平台: 模拟器/ IOS/ Android
-
详细报错信息,包含调用堆栈:
-
重现方式:
-
之前哪个版本是正常的 :
-
手机型号 :
-
手机浏览器 :
-
编辑器操作系统 :
-
编辑器之前是否有其它报错 :
-
出现概率:100%
-
额外线索:
使用spine skel二进制格式时,当spine runtime缺少某部件贴图时,会直接闪退。
Creator 版本:2.3.1
目标平台: 模拟器/ IOS/ Android
详细报错信息,包含调用堆栈:
重现方式:
之前哪个版本是正常的 :
手机型号 :
手机浏览器 :
编辑器操作系统 :
编辑器之前是否有其它报错 :
出现概率:100%
额外线索:
使用spine skel二进制格式时,当spine runtime缺少某部件贴图时,会直接闪退。
麻烦官方引擎团队能安排修复一下。
感谢反馈,我们排查一下。
缺少某部件贴图?这个怎么理解,是贴图拆分没有解析出来?还是你自己资源丢失导致的崩溃?
V2.3.0版本的Engine Fixes里面写到:支持 Spine 部件贴图拆分,增强换装功能 #5711。
提交的改动里面写的是:支持部件贴图拆分,增强换装功能。
(原spine runtime当缺少某部件贴图时,会报错,这里修改为直接跳过或返回空值,当用户想换装时,可根据需要只提供某个部件的贴图图集)
关联pr:cocos-creator/cocos2d-x-lite#1924
就是当spine中使用到的资源,不在图集中时,不会直接报错。
按照你的提问,回答应该是自己资源丢失导致的奔溃。
SkeletonJson.cpp中解析spine是做了兼容的。
SkeletonBinary.cpp中没有处理这种情况,因为二进制是边读取边赋值的,所以如果attachment为NULL时直接continue,会导致二进制文件读取错误。
收到,我们补充修复下~
抱歉,这个是spine的runtime中的问题,我们原则上是不改他们的代码的,否则一旦后续升级,需要同步的地方太多。你可以本地自定义一下spine的代码,或者修复下资源的问题
好的。希望官方能注明一下这个问题,否则官方的ChangLog会有误导的作用,毕竟注明了是支持Spine部件贴图拆分功能的,大家不知道是只支持json格式,skel格式不支持。
这是特殊情况导致的吧?正常资源应该是不会丢失的。引擎并不是不支持 skel 换装,只是 skel 不兼容资源丢失的情况。
原生端Spine二进制,不兼容SpineIDE输出时选择忽略空白图片。
Spine二进制输出时,确保没有勾选这个选项