虎哈哈 spine动画 绑定到对象上之后 这个对象自身会有锚点设置 一般都是对应着spine的动画中心 3.3.0时候 直接用这个对象就可以很方便的将spine放到指定位置 3.3.1看更新日志 说这个锚点要强制按0,0算了 是基于什么考虑呢 按0,0的话,这个spine直接绑定的对象 没办法很方便的直接定位 需要外层再嵌套一个容器才行 而且直接导致之前的项目里的spine位置全乱了 还有就是快速渲染设置不对的话 会直接报错黑屏 比如能快速渲染却没有使用快速渲染
LayaAir小牛 3.3.0之前的spine使用的精灵矩阵不包含锚点偏移,表现是精灵渲染位置会跟随锚点位置变化而变化。3.3.1之后会始终以精灵的0,0点为原点,跟随精灵的位置变化变化。后面会补充个单独的渲染偏移的属性。 快速渲染报错黑屏这个问题我们没有测试出来,可以提供一个截图或者demo吗?顶点同骨骼数超了或者总骨骼数超了会有警告,按理不会报错。
亮大虾 LayaAir小牛 @LayaAir小牛:其实我猜测你们引擎这么做 应该是什么BUG有关 但是你们算出来这个00点其实也不是spine动画最终的左上角的位置,因为有些动作幅度很大的话应该是超过00位置的
虎哈哈 亮大虾 问题是我升完3.3.1再退回去3.3.0 感觉哪里被缓存一样 出现一些莫名的问题 比如 时间轴动画播放一半 剩下一半直接跳最后一帧了 没办法 只能强上3.3.1 这两天就改spine相关逻辑了 所有动画都先拉到预制体里用了
虎哈哈 LayaAir小牛 你就找个支持快速渲染的spine 不勾选快速渲染 直接报渲染错误 Uncaught TypeError: Cannot read properties of undefined (reading 'renderType') at WebRender2DPass.batch (WebRender2DPass.js:236:47) at WebRender2DPass.fowardRender (WebRender2DPass.js:151:64) at WebRender2DPassManager.apply (WebRender2DPass.js:382:22) at Render2DProcessor.apply (Render2DProcessor.js:28:23) at Stage._render2d (Stage.js:443:26)
虎哈哈 LayaAir小牛 还有个问题,就是编辑器表现跟代码表现不一致,编辑器里spine绑定以后 他绑定的sprite是有锚点(假如是100,100)的 只是改变sprite尺寸的时候 动画内容不会基于锚点去变化位置 但是在设置这个sprite位置的时候 这个sprite的位置实际上还是受锚点控制的 但是如果是在代码里 新建一个gwidget 然后绑定上同样的动画 这时候 放置这个gwidget的时候 他的位置就是基于锚点0,0的位置 而不是在编辑器里的实际锚点位置