• RuntimesUnity
  • 关于Spine-unity的自然过渡的缩放在遇到正负号时不使用线性插值的问题

在【关于spine的自动过渡无法处理缩放中的正负号问题】中我得知了spine遇到缩放过渡中含有正负号的情况使用的并不是线性插值,如果我需要它使用需要手动修改代码,Bot您向我提供了spine部分的代码,非常感谢您。

但我实际使用是在spineunity中,我想我还需要更改unity中的相关代码,请问您可以告诉我在unity中这部分相关代码的位置吗?

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

以及我对代码并不是很熟,如果在提供位置的同时能够给与一些更详细的修改意见就更好了,非常感谢您。

Related Discussions
...

在Spine-Unity中处理缩放过渡时遇到正负号的问题,您需要修改Spine-Unity的代码以实现线性插值。具体来说,您需要查看Spine-Unity的AnimationState类中的插值逻辑。

  1. 首先,确保您已经安装了正确版本的Spine-Unity包。根据您提供的信息,您使用的是spine-unity4.1com.esotericsoftware.spine.timeline-4.1

  2. 在Unity项目中,找到AnimationState.cs文件。这个文件通常位于Assets/Spine/Runtime目录下。

  3. AnimationState.cs中,查找处理缩放插值的代码部分。通常,这涉及到Mix方法或类似的方法,您需要在这里实现自定义的线性插值逻辑。

  4. 如果您不熟悉代码,可以参考以下伪代码示例来实现线性插值:

       float LinearInterpolate(float start, float end, float alpha) {
           return start + (end - start) * alpha;
       }

    在处理缩放插值的地方,使用LinearInterpolate方法来替代默认的插值逻辑。

  5. 保存修改并在Unity中测试您的更改。

请注意,修改Spine-Unity的源码可能会影响其他功能,因此在进行更改之前,建议备份原始文件。

Harald 您好,非常抱歉我使用了多个板块来讨论同一个问题
因为我想要知道答案的心情比较迫切,但是bot似乎只会回复板块的内容,而不会对已经解答了的问题进行后续的补充
我想要得到bot的后续回复,因此使用了多个板块,非常抱歉。

同时我也感谢您的解答,即使我已经解决了问题,非常感谢您。

如果可以的话我想知道,是否有什么别的办法,在不使用多个板块的情况下,可以得到bot的瞬时回复答案?

@momomo Thanks for your understanding. If you need instant replies, you can try ChatGPT (there is a free version) for interactive chat:
https://chatgpt.com/

    Harald 感谢您提供的建议,但是在中国,chatGPT似乎是受限制的网站,我无法通过普通的方式对其进行浏览,虽然也有其他人提供了在中国可以使用chatGPT的教程,但是无一例外全都非常麻烦,而且还存在违法的风险(虽然中国只有极少数因为此行为判刑的案例,但这确实是法律明令禁止的行为,只是警察一般懒得管而已。)

    再次为您的解答感到感谢,以后我会尽量不将问题拆分占用公共资源的。

    @momomo Thanks for the info, that's unfortunate then. If it's urgent and you need multiple replies, note that you could also delete redundant questions and post a summary once you got everything answered.