Per-Camera Format
At the moment there is no convenient way to render multiple cameras for a single scene with different resolution or aspect ratio.
The existing workflow is to link the scene multiple times and have a different camera defined on each of them. Or change the scene resolution prior to each of the camera renders.
Simple Approach
The simples way to get this working is by implementing for each camera an option to “Follow Scene” or “Override” its settings.
The settings Render Region, Crop to Render Region and Frame Rate stay only configurable on the scene level.
In the viewport it would be nice to have a display option to show the camera aspect ratio/resolution in relation to the scene one (like a viewfinder).
Letterboxing
When rendering a scene with multiple cameras (using markers bind to the cameras) different things will need to happen based on the output:
- If rendering individual frames (e.g., JPG or OpenEXR files) each frame will use the respective camera resolution.
- If rendering to a movie file (e.g., mp4) the scene resolution will be used by the container, and the individual cameras will be cropped or letterboxed.
For full control of the movie file use-case users are adviced to use the Video Sequence Editor. There you can add individual scene strips for each of the cameras, and control the strip scaling individually (or arrange them in mosaics, picture-in-picture, …).
Future: File Settings
For the Story Tools project, the plan is to shift some of the existing Output (and scene) settings around to avoid duplication between the Scene and the Sequencer.
The current proposal is to move some of those changes to the File level:
- Format, output, stereo, units and color management go to File Settings.
- Frame range should be present in Sequencer and Scene.
This means that the file settings becomes the source of truth for sequences (timelines) and scenes. If a scene needs a custom aspect ratio it can overridden in the Camera format level.
There will be a new tab “File” for the file specific settings:
The existing (scene) Output tab gets merged into the Scene tab. Note that Units got removed from it (it moved to the File tab):
The Sequence tab will only be visible when a Sequence data-block is present. It expose the Sequence Frame Range (also visible on the animation playback footer):
In this case the camera option is to “Follow File” instead of “Follow Scene”:
Caveats
This proposal tries to keep things simple. Which means some setups currently possible are more tricky to accomplish. The more obvious one is to set different “Outputs” for different scenes.
The proposed solution for this is to:
- Render each scene individually, adjust the File output in between renders; or
- Use the Blender Variable for the scene name in the output path; or
- Combine all the scenes in a single Sequence, and render them as individual images; or
- Use File Output nodes in the scenes compositor.
Feedback
Pablo and I worked together on this design, and I have discussed it already with some people. I even posted it already as a design document.
That said, this would break backward compatibility in some cases, and I would still like to hear from people that may have their workflow affected. And if the workarounds proposed on the caveats would suffice.
In particular people that rely at the moment on the per-scene/sequence output paths.