4
$\begingroup$

I have baked a fluid simulation that runs for 300 frames. I have 3 cameras, one from the left side, one from the right side, and one from the top. Can I render a sequence of 900 frames where the first 300 are rendered from the simulation from the left camera, then it uses the same simulation and does the next 300 frames from the right camera, then uses the same simulation for the final 300 frames from the top camera?

$\endgroup$
7
$\begingroup$

You could use the Multi-View Render Layer functionality to simultaneously render from multiple cameras to files and then stitch them together in the compositor.

Start by creating and positioning your cameras. Ensure they all have the same name with the exception of a suitable suffix - eg, 'Camera_L' for left, 'Camera_R' for right, 'Camera_T' for top. In the Render Layers tab, enable Views and create an entry for each camera with a matching suffix for each view (ie, '_L' for left, '_R' for right, '_T' for top).

cameras and views

Now when you render the scene Blender will render a separate image for each camera. To view the individual images you need to disable the Stereo 3D option and select the channel using the selection box.

disable 3d and use selection box

When rendering the animation you will now get multiple renders per frame - each will be produced with a filename including the camera suffix. For example, rendering to EXR :

0001_L.exr
0001_R.exr
0001_T.exr
0002_L.exr
0002_R.exr
0002_T.exr
0003_L.exr
0003_R.exr
0003_T.exr
0004_L.exr
0004_R.exr
0004_T.exr
....

(rendering to PNG produces similar filename output)

The separate frames can now be used in the compositor using Image nodes with suitable filename and offset, along with logic to mix between them based on the frame :

compositor

The compositor nodes have three separate images, each set with a different start frame so, in this case, the first 50 frames are using the first set of images (from one camera), after frame 50 the Mix nodes select the second set of images and after frame 100 the third set.

Note the maths nodes use the presence or not of an Alpha channel to determine which image to merge into the output to automatically select the relevant image. If the alpha channel is in use for transparency then you will need to use the frame number via a driver (enter ‘#frame’ into a Value field) or another method (eg, keyframes) to determine which image to use.

Here is the final result :

result

Note that Suzanne is only being rotated once through 360 degrees, but rendered from each camera and combined to show each view in turn.

Blend file included (note that there are two scenes - one for the render and a separate one for compositing (required due to the different number of frames - 50 for the render and 150 for the compositor pass)).

$\endgroup$
  • $\begingroup$ Hi Rich. Could you please take a look at my question here? I need some urgent help and I think you might be able to help me with it. Really appreciate you. $\endgroup$ – Amir May 8 '18 at 13:03
1
$\begingroup$

Yes you could complete a pass then select and change the active object to the active camera, then render again.

Or you could place a series of Scene Strips in the VSE (one per camera) end to end. Open each Strip's properties panel and change the active camera attribute. The scene strip will always play from its embedded time value, starting at frame 1.

Be aware that switching the active camera in this way can also affect the compositor scene input node. So you would get better color rendition from this output (instead of the VSE output).

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.