5

I have a scene with a lot of physics, and in some cases hitting 'play' means each frame takes a couple of minutes to calculate.

The play button becomes a pause button, but since the UI is locked up, there is no feedback on whether the click on the pause button is successful. Any even number of registered clicks would reasonably stop and restart the animation. Is there an absolute way to stop animation playback?

The space bar maps also to stop/play depending on the current mode, and can only toggle the mode rather than being an absolute stop.

J Collins
  • 211
  • 2
  • 10
  • Space bar is an option, one hit to play and a second hit to stop – Emir Jun 30 '21 at 14:33
  • I suppose if you bake the animation, it would be easier on system resources and thus make the UI more responsive. This may be no good, however, if your purpose of pausing is to "tweak it on the go". – Christopher Bennett Jun 30 '21 at 14:39
  • I guess it is just a matter of it being one of a few trapdoors that I have found in blender lately. Up to now the animation has been quite fast, with say 2-5 seconds per frame. This time I imported a finer resolution mesh and the physics calculation has choked. I hoped there was a cleaner solution to 'stop' than kill process>restart blender>recover project. The alternative was patiently waiting 45 minutes for the UI to respond and for luck to allow that I've asked for stop an odd number of times..! It's just a UI oversight that could do with a better solution. – J Collins Jun 30 '21 at 14:49
  • 3
    Press the Esc key. It can take a while until Blender stops when the UI is locked. But you can press it multiple times and don't have to worry that it restarts the playback like the Space key does. – Blunder Jun 30 '21 at 15:05
  • ... @Blunder that's prob the best answer, which calls bpy.ops.screen.animation_cancel whereas space uses animation_play (a toggle) Could "Take it Out" via a script eg taking out the edit source operator https://blender.stackexchange.com/a/101530/15543 To remove the ability to "play at all" till next start blender. – batFINGER Jun 30 '21 at 16:50
  • 1
    ... which makes me think could make a handler to cancel animation on frame change if it exceeds some lag time. – batFINGER Jun 30 '21 at 16:52
  • Batfinger are you suggesting something a user could do or something the developers could do? And Blunder thanks for that tip, I've been using Esc for other things like cancelling a bake, didn't know it did that too. I do find it a shame that physics is single threaded and happens on the GUI thread.. :/ – J Collins Jul 01 '21 at 07:03
  • As an IT administrator I can tell you what I tell people working here: if the PC doesn't react at first keystroke, don't press it multiple times but wait for it to react. In the worst case, pressing multiple times gives the PC even more work and instead of just being slow it can even crash completely. As @Blunder says, if you (have to) press multiple times because you suspect a single press might me "overlooked" or ignored by the system, use the ESC key. This will stop the animation and jump back to the frame where you started playing it, Space just pauses and plays where it is in that moment. – Gordon Brinkmann Jul 01 '21 at 07:16

1 Answers1

2

As per user Blunder's suggestion the Esc key appears to be the best solution to stopping any long process in Blender, animation playback included.

J Collins
  • 211
  • 2
  • 10