The camera movement needs it's own undo, currently no way to undo an accidental camera movement

This sort of question gets asked often, about all different aspects of blender. Nearly always by someone who is used to something working in a certain way in another app and missing that in blender.

The answer is not a simple thing, but a combination of factors.

  • Developer time is limited and there is a nearly infinite supply of must-have features that need implementing. People need to prioritize.
  • The people developing blender apparently don’t miss the feature themselves.
  • It’s maybe harder to implement (cleanly) than you’d think…
  • Not enough non-developers make a noise about a feature being important. (and note, a few users making lots of noise often has an adverse effect on the developer, as opposed to lots of users making a little noise. ) Or nobody has given a clear enough example of why it’s important.

Lots of blender developers are volunteers that only work on what interests them or what they need themselves.

1 Like

Maybe I can offer an alternative solution.

New menu option in the Camera Properties “Previous positions / Undo”.
Which will store a list of previous camera position and rotation.
These parameters will be recorded every time we move the camera.

How it can be implemented?

In my opinion the easiest way is:

  1. If the camera is selected or we are in the Camera View.
  2. clicking the mouse we will store a new menu entry with pos/rot in the Camera Properties “Previous positions / Undo”.
  3. releasing the mouse, we check whether the parameters of the position or rotation will change with the last value in the Camera Properties “Previous positions / Undo”.
  4. If yes, then we add a new entry in the Camera Properties “Previous positions / Undo”.
  5. If not, then we delete the last entry in the Camera Properties “Previous positions / Undo”.

In order not to load the system with unnecessary calculations, we can do this menu with a checkbox to activate or
maybe we want to do it manually by clicking + / - icons and move up/down in that menu.


Previous positions - Undo 02

3 Likes

You can actually undo camera movements. It’s a slightly hidden feature but it is there.

The trick is to click on the camera in the object menu and then use Cmnd / Ctrl + Z.

You’re welcome.

1 Like

doesn’t seem to be too reliable. For example if you move the camera a few times and then press ctrl z it goes back to the initial position rather than the previous.

Per object undo’s would be nice though for sure. Based on which object is selected.

1 Like

Absolutely. I’d even consider this a core functionality. Using keyframes is kind of a fallback plan but it’s still a very dangerous thing to do with either having autokey on and basically still overwriting the camera location or having it off and not realizing it.
Blender still has a few direly needed sore spots and this is one of them. But they are getting fewer and fewer each release and I can’t wait for the day when they are finally gone. ^^

1 Like

Absolutely agree. I think that such a core functionality shouldn’t be neglected

I keep finding this useless advice all over the internet.

Cameras should also be lockable. Sure cameras can be set to no selectable but if you link the camera to the view and move it it still does move and is very much overriden selected. Then what? Unlock camera again, select the object and hope Ctrl-Z works.
It’s rather error prone and convoluted. Ideally the camera should just have a secondary undo stack for every movement or zoom that can be undone with a secondary undo shortcut like Alt-Z. No object locking, keyframe setting or object-selected-Ctrl-Z-ing really is a sensible substitute for it. It has to suffice for the time being but it’s not a state to remain in.

That’s a very useful tip, thanks!