【Spine Bug】骨骼动画Spine出现白块问题及解决方式 3.6.2含之前一直存在

  • Creator 版本: v3.62

  • 目标平台: 所有平台

  • 重现概率: 必现

问题: 1672996463(1)

描述: 由于项目设计 采用动态加载的方式 创建以及加载骨骼动画资源 (非编辑器拖动设置)
代码加载如下:

let skeleton = node.getComponent(sp.Skeleton);
skeleton.skeletonData = skinData;
skeleton.setSkin(skin);
skeleton.premultipliedAlpha = false;  //重点 若为true会出现通透性问题 
skeleton.setAnimation(trackIndex, name, loop);

经过排查,发现是骨骼资源导出 图片默认做了预乘
为快速解决问题,不重新导出动画文件,将动画 .json文件中的 “blend”:“screen” 改为 “blend”:“additive”
白块消失,方案正确

注:若使用编辑器,编辑器的premultipliedAlpha属性必须和png的Fix Alpha属性一直 即都勾选 或都不勾选

具体原理参照:
https://forum.cocos.org/t/topic/105102

2赞

谢谢分享 非常完美~

感谢分享,完美解决