同一个节点,复用对象池,动态加载spine资源,在抖音平台会出现赋值错误
, 目前浏览器和微信都没问题,目前AI回复是
是的,抖音(TT/TMG)上同一个节点的 sp.Skeleton 反复动态切换 skeletonData ,更容易触发你这个:
EffectVariant.setProperty -> 读取 undefined.value- 栈在
SpineAssembler._getSlotMaterial
原理(为什么“同一个节点动态加载”会炸)
Spine 在渲染时会为 slot 缓存/复用 MaterialVariant,并在每帧根据 skeleton/slot 状态去 setProperty (例如纹理、阈值、overlay 等)。
当你在同一组件实例上替换 skeletonData 时,旧数据对应的材质变体缓存还在,但新 skeleton 需要写入的 property 集合/布局不一致(或你绑定了不兼容的自定义材质),就会出现“找不到对应 property”,最终读 undefined.value 报错。抖音环境下这个缓存失配更容易暴露。 问下各位大佬有遇到过不 ? 2.4版本