• EditorBugs
  • 关于spine的自动过渡无法处理缩放中的正负号问题

我在spine界面中使用预览,其中开启了混合的参数,按理来说,动作的播放和结束都应该是平滑过渡的
但是我有部分骨骼使用了缩放,并且缩放范围大致是0.5到-0.5左右,负数的部分在平滑过渡时候出现了问题
比如我的初始状态是0.5,一个动画的结束状态是-0.3,那么正确的过渡应该是-0.3→-0.2→-0.1→0→0.1→0.2→0.3→0.4→0.5
但是在spine中实际上应用被应用的的过渡却是-0.3→0.3(突变)→0.4→0.5

请问这是bug吗?还是我在哪里少设置了什么东西,我该怎么避免这个突变,这个突变的问题在spine-unity的timeline中依旧存在

Related Discussions
...

在Spine中,缩放从负值到正值的过渡并不是线性插值的,这是设计使然。正如在Preview editor/Runtime won't mix negative to positive scale中提到的,这种行为是为了避免在过渡过程中角色变得极薄(像一张纸一样)。这种行为在许多情况下是期望的,因为它避免了不必要的翻转效果。

如果你希望实现从负值到正值的平滑过渡,你可能需要手动调整动画或修改Spine的运行时代码以实现你想要的效果。相关的代码可以在Spine Runtimes GitHub中找到。

    Spinebot 我最终的spine会使用在unity中,我是不是应该同时调整unity相关的代码?可以告诉我这部分代码在unity中的文件路径和代码位置吗?

    Spinebot 我目前所使用的Unity包有spine-unity4.1和com.esotericsoftware.spine.timeline-4.1

    Harald 好的,我已成功找到并且完成了修改,谢谢您的解答。