Camera workflow is very error prone

One thing I constantly keep breaking my teeth on with EmberGen is how easy it is to lose camera setup. Camera angle will randomly switch to a different one all the time, for example when reopening the saved scene file or when simply moving/connecting nodes around.

There’s this very obscure mechanism of copying camera transform into this invisible state using “Copy from Current Camera” (which is arguably poorly named), and then recalling it using (equally poorly named) “Use Camera” button.

First of all EmberGen doesn’t it even make clear what the camera is. It could mean the perspective viewport transform in the raytracer, or the transform in the camera node, or the perspective view transform in the Preview viewport. The fact it is all these 3 independent things is just one giant room for error.

So one is not even sure what “Copy from current camera” even means. “Use Camera” is even more confusing, because common sense would imply it’s some sort of toggle between some arbitrary free perspective view, and some actual Camera scene object, because that’s how it works anywhere in 3D software outside EmberGen land.

Even when I watched official EmberGen YouTube streams, there was occassional worry from the developer himself if he didn’t accidentally move the camera. That goes to show just how unrealiable it is.

Unfortunately, already on several ocassions, I’ve managed to accidentally lose my intended camera angle by clicking a wrong button, when I wanted to update already existing effect, which left me with no other choice than to make a new one from different angle, because I did not remember what the original one was. It’s not a big deal for the personal project, but I can image it being a big issue in AAA production where for example a director likes certain effect very much, including specific camera angle, but would like to see a bit more fire and less smoke in it for example. Losing camera angle in such case would be quite an issue.

The accidental camera movement is all the more dangerous given that there’s no undo currently.

My suggestion for solution would be simple. Remove both “Copy from current camera” and “Use Camera” buttons, and replace it with one “Lock Camera” boolean toggle. When disabled (default) user can move the Preview Camera angle any way they want, and when enabled, the values are sacred and the view can not be moved. This would make it impossible to accidentally move the camera.