cocos creator3.8.0 中的spine 的多轨动画 loop会互相打断 无法使用

发现问题时间:2023-08-02-23:59
cocos3.8.0 spine 的多轨动画 loop会互相打断 无法使用
比如
this.getComponent(sp.Skeleton).setAnimation(0, “run”,true)
然后在后面的逻辑中
this.getComponent(sp.Skeleton).setAnimation(1, “att”,false)
这时候0轨道的run就停了
这在3.7.3中是没问题的,不会打断0轨道的loop
这肯定是个bug
多轨动画没法用了

后续…2023-08-03
经过测试
let track= this.getComponent(sp.Skeleton).setAnimation(1, “att”,false)
log(track.trackIndex)
结果是0
setAnimation(1, “att”,false)这第一个轨道参数无论填几 返回的trackIndex都是0都在操作0号轨道
log(this.getComponent(sp.Skeleton).animation) 这里按道理只会显示0号轨道的动画,但是我无论设置几号轨道的动画,都会在这里显示出来,也就是说的确 无论设置几号轨道的动画,都被固定到了0号轨道

1赞

同问,目前这个问题只出现在web平台,原生平台没问题,因为web的spine改用wasm实现,engine_base\native\cocos\editor-support\spine-wasm\spine-skeleton-instance.cpp中
setAnimation(float trackIndex, const std::string& name, bool loop)
方法有一句错误
auto *trackEntry = _animState->setAnimation(0, animation, loop);
目前使用暂时addAnimation来播其他轨道的动画,,,

感谢反馈,关于这个问题,381已经修复