• EditorBugs
  • 4.3.17物理约束出现奇怪的形为


可以看到这条飘带在4.3.17里面的运动很诡异,在4.3.14里面则是正常的。
并且即使他在4.3.17里面显示是正常的,导出mov的时候,运动还是不对

这个是4.3.14的导出

这个是4.3.17的导出

  • Misaki ответили на это сообщение.
    Related Discussions
    ...


    另外4.3到4.2有很奇怪的物理行为。
    不敢再用最新的测试版了。。。

    yugutou Thanks for reporting this issue! It seems that either the default FPS change added in 4.3.17-beta or the physics smoothness improvements added in 4.3.15-beta may be causing this. Could you please check if changing the FPS in the Physics Constraints properties fixes the problem?

    • yugutou ответили на это сообщение.
    • Erika оценил это.

      Misaki 可是我4.3.17用的物理参数,跟4.3.14是一样的。我是用4.3.17打开的4.3.14的文件,并没有改变任何东西,呈现的效果却并不一样。明显4.3.14的效果才是正常的

      This was a bug, thanks for letting us know! We've fixed it in 4.3.18-beta.

        Nate 太棒了,希望尽快更新,工程已经升级到4.3.17,只能等待更新来修复了

        • Misaki ответили на это сообщение.

          yugutou 4.3.18-beta is now available! We hope you can confirm that your issue has been resolved.

          • yugutou ответили на это сообщение.

            Misaki 尝试了一下,在4.3.18里面有概率显示不正常,但是即使显示正常了,导出mov使用的时候,还是不正常的。
            需要我把文件发给你们,你们尝试一下吗

            • Misaki ответили на это сообщение.

              yugutou We apologize that this issue has not yet been resolved. Yes, sending us the actual spine project file would be helpful for our investigation: contact@esotericsoftware.com

              yugutou Thanks for providing the Spine project file! I exported a MOV file using Spine 4.3.18-beta and checked it, and while there were some minor differences, it did not appear that the differences were significant enough to suggest that only the MOV file was incorrect, since only the preview in the editor was changed. So if the viewport state is correct, it does not appear that there is a problem with the MOV file alone. I have sent an email with a video for comparison, could you please check the attached video?

              • yugutou ответили на это сообщение.

                Misaki
                您注意看这一块的末端,对物理的反馈很不自然,跟4.3.14的完全不一样
                而且不止这一块,全部的物理反应都很奇怪,比如帽子之类的,动起来很不自然

                Thanks for sending the project and the comparison video.

                When playing an animation in the editor with physics Deterministic unchecked, the physics is updated all the time, as allowed by the rendering rate of the editor. When checked, physics is calculated more precisely and you will always get the same pose on a given frame. That uses a lot more CPU, especially for a project as complex as yours. When you export MOV (or any other image/video) the physics is calculated like when Deterministic is checked. This means you may see some slight difference in the editor when Deterministic is unchecked compared to MOV.

                That said, that is not the reason for the bigger differences you see in your project between 4.3.14-beta (which has physics identical to 4.2) and 4.3.18-beta. We changed physics slightly to fix it being choppy when the render rate is low.

                To see the problem we fixed, in 4.3.14-beta try playing your animation using 10% speed in the Playback view. Especially for larger movements, like the tip of the hat, the movement is very choppy. It's most noticeable when something is moving in a straight line. If you try the same in 4.3.18-beta you'll see it is extremely smooth, which is great!

                Unfortunately to make it so smooth, physics behavior is slightly different. In our testing most skeletons using physics don't need any changes. In projects like yours that have a long nested chain of bones that all have physics, a very small difference in movement for each parent bone can add up to a larger difference for child bones deep in the hierarchy.

                Physics forces are applied at a fixed rate. That's the FPS setting for the physics constraint. We used to just apply the whole force. This looks OK when the rendering rate is near the physics rate, but when the rendering rate is lower, the multiple frames are drawn without new physics forces being applied. Then, when the forces are applied, the bone jumps to the new position. What our change does is that forces are not applied right away. Instead they are applied over the next physics step.

                For example, at 60 FPS the physics step is 1 second / 60 frames = 16ms. A force is calculated during a physics step, but not applied yet. If the rendering rate draws 4 frames for every 16ms, the rendered frames will see 25%, 50%, 75%, and 100% of the force. That makes the rendering very smooth, but it means that forces are delayed. Worst case they are delayed one physics step (16ms) and on average they are delayed half that (8ms).

                This is normally such a small difference that it doesn't matter, except in long bone chains as mentioned. For projects where this causes undesirable behavior, unfortunately you will have to manually adjust the physics constraints to get the behavior you want.

                The easiest way to fix your project is to increase the physics FPS. At 120 FPS the physics step is 1 second / 120 frames = 8ms, so the delay is 4ms on average and the difference with the old physics is half as much.

                Another way to fix it is to increase the strength of your physics constraints to compensate for the slightly delayed forces.

                We deeply apologize that this physics change requires manual fix up! We try to avoid that at all costs, but the improvements in smoothness for physics are very important.

                • yugutou ответили на это сообщение.

                  Nate

                  Nate 升物理效果的流畅度至关重要

                  感谢您的答复新版的物理确实流畅了很多

                  Nate 加物理约束的强度

                  是指把限制提高,或者把fps提高到120吗?

                  Nate 未勾选时与 MOV 时Deterministic略有不同

                  比较重要的一个问题是,4.3.14项目看到的,跟导出的效果是一样的,4.3.18看到的跟导出的不一样。之后我该怎么让我在spine看到的跟导出的效果一样。能解决这个问题,不对之后的制作造成影响就好!

                  • Nate ответили на это сообщение.

                    yugutou 是指把限制提高,或者把fps提高到120吗?

                    You can increase FPS to fix it. Or you can increase strength, this one:

                    Изображение удалено из-за отсутствия поддержки HTTPS. | Показать

                    yugutou 之后我该怎么让我在spine看到的跟导出的效果一样。

                    It should be the same when you check Deterministic, this one:

                    Изображение удалено из-за отсутствия поддержки HTTPS. | Показать

                    • yugutou ответили на это сообщение.
                    • yugutou оценил это.

                      Nate 我明白了,感谢感谢!物理实在太好用了,再也不用去k飘带,所以会大量使用,真是救大命了😘

                      4.3.14 比较稳定、4.3.16 很多小问题。后面版本没试
                      物理的话我一般限制低于1000、设置的fps至少是输出的两倍。不过为了方便都是直接120fps了。
                      另外再更高的运动下、物理很难往子骨骼去传到、导致尾端就是会硬、降低惯性、加大力量、减少质量也一样。这种极端的情况下建议是高帧率输出、后面时间重映射。比如预期30fps、你摄影表以120fps预览。物理fps设置240。得到一个正确预期的物理之后再抽帧。
                      如官方nate说的一样、启用确定性确定查看预期的渲染效果。不过不适合预览、因为越到后面计算量越大。
                      其次造成物理卡顿的还会有一种可能就是官方默认的曲线采样两帧之间是10段。可能你得看情况卡点。这个我倒是提过。可惜被以性能优先含糊过去了。
                      另外再实践中、拉高质量、惯性的话可以适当降低力度和装配。很多情况下默认加混合就能达到一个不错的效果。如果更好点的话是根骨骼到子骨骼的惯性递增。2050的样子。另外我一般会K一次待机(幅度小一点)再加上物理的样子。这会有预期的错开且不太离谱。
                      说白了、要更好的效果就更花时间。看你自己

                      • yugutou ответили на это сообщение.

                        Voice-of-Shadow 啊谢谢,总的来说就是提高fps,跟质量是吧

                          yugutou
                          大概可以这样理解:下面的参数是描述骨骼的物理。上面的装配是实现骨骼物理用的。
                          最后具体效果还是得根据需求实际调整。
                          扇面说的只是咱总结出的一些规律而已。物理这玩意儿没有绝对正确。都是调好看了就用。
                          如果能像L2D一样完整烘焙的话、可以有更多的调节空间倒是

                          11 дней спустя

                          In 4.3.23-beta we improved physics smoothness and responsiveness. It should now behave like it did in 4.2, except it's extremely smooth! It's stays smooth when the render rate is much higher than the physics rate.

                          We tested on the project you sent and it behaves well, the hat doesn't bend strangely like it used to. It looks good even with a physics FPS as low as 10 (too low gets unstable and everything explodes). Even when the playback speed is 10%, the physics movement is perfectly smooth!

                          Here's a comparison of the 4.2 editor vs 4.3 editor vs 4.3 runtime showing Spineboy with physics on his head bone, with playback at 10% speed:

                          4.2 is really not good when the render speed is higher than the physics update rate. I'm super happy we were able to fix it AND keep nearly identical physics behavior.

                          If you already updated your project to work with the 4.3 physics before 4.3.23-beta, I'm sorry! Maybe you can go back to a backup file.

                          • yugutou ответили на это сообщение.
                          • Misaki оценил это.

                            Nate 太好了,终于又可以用最新版本的spine了!之前因为物理问题一直再用4.3.14,你们真是伟大的团队!

                            • Nate оценил это.