A long time ago in a galaxy far away there used to be a way to grab the camera in action and repo it in z while holding a key (or keys) that would dynamically update the FOV. Effectively if you had only 2d images in your action setup, your output in at this frame would be unchanged. We found this to be exceptionally useful when doing motion graphics.
It’s of course still possible to do something like this, it seems to be a multi-part exercise at the moment though… unless one of you geniuses knows how to do this very thing? Did I mention how youthful you’re looking?
The FOV and Dolly parameters can be mapped to hotkeys/shortcuts.
I use flame keys.
Dolly is set to spacebar-Z
You can search for FOV and map it to whatever you prefer
spacebar-F or spacebar-V or something?
If I’m correct in what you are asking, I have always done this with an expression. Link the axis of the image to the camera and in the axis.position.z add the expression 540/tan(radians(-.5*Default.fov)). Note that 540 refers to 1/2 the height of the raster. If your raster was UHD, the number would be 1080. Default is the name of the camera. With this setup, no matter what you do with the camera, the image will always remain fixed in the field of view. This can be seen using a side view and moving the camera around. If you don’t want to link the camera to the axis, and only have this applied to FOV, I could probably work out a similar expression.
yeah, I mean that’s close to what I’m after… I’d love to see how to do this without the axis though. Back in the day, you could literally grab the camera’s POI while holding a key (ctrl maybe?) and from the top view you could see both the z position of the camera and it’s FOV change concurrently. It was awesome.
Two expressions for you.
2*(degrees(atan(540/Default.position.z))). Again, 540 is the 1/2 the height of the raster. Any object that is the height of the raster will fit top to bottom when the position.z of the camera changes. This works with the Dolly selection.
The second is the same, but substitute 540 with 1/2 the height of your image. This will lock field of view to the height of the image, rather than the raster.
If you set the scale of the image to be 100*AspectRatio, it will fit horizontally
Thanks @ytf ! This essentially replicates the exact former feature I was describing! Now here’s me looking a gift-horse in the mouth… after I’ve found this magical recipe of camera z position and fov that suits my needs… what I would love to do is then animate my camera so that I can take advantage of new camera position + fov, but of course the camera is now dynamically updating! lol
If nothing else, I can use this in a 2nd camera to ‘find’ my starting position/fov and then animate from there.
I don’t understand. Isn’t that what my first setup does? In order to do that without parenting, it requires stacked axis over the image each with an expression that links to the camera rotation, but in a different rotation order. I did it many years ago, but parenting was much easier. This was my answer to bringing in a background as an image, but not having the camera affect it.
Above everything please know that I thank you tremendously for attempting to entertain this idea!
Fair question about your first setup, I don’t think I’m being overly clear here.
Imagine if you use the Auto Scale “All Transforms” feature of an axis. This feature allows you to move an axis in z and have it’s scale dynamically modify so that it’s apperance is effectively unchanged… for this exact frame. Once you advance to another frame (assuming the camera is animated), then the image is very much changed.
Essentially I’m trying to do the same thing with the camera here where I modify it, almost like a setup… but then once I animate or move, the images & camera behave as you would expect with that setup of distance/fov.
It’s a little fiddly. If you view through the second camera, later adjustments to the position.z-fov seem to not work. If you view through the original, there’s a little ritual you have to go through. Parent Camera2 to the original, link the original to camera 2, cut the link and reset camera2. Weird, but it then works; look through original camera but animate camera 2.