Page MenuHome

The render in terminal only render the active scene
Closed, ArchivedPublic

Description

Operating system: Darwin-19.4.0-x86_64-i386-64bit 64 Bits
Graphics card: NVIDIA GeForce GTX 780M OpenGL Engine NVIDIA Corporation 4.1 NVIDIA-14.0.32 355.11.11.10.10.143

Blender version: 2.90.0, branch: master, commit date: 2020-08-31 11:26, hash: rB0330d1af29c0
Worked: (newest version of Blender that worked as expected)

When I make 2 scenes with different camera shots to render different view layers with different camera shots, when rendering by terminal only the active scene with which you save the .blend is rendered. It seems that it does not recognize the other scene specified with -S or --scene in either way.
When we finish the render we should have 4 renders in /tmp/ 2 for each scene called Cam01 and Cam02, but currently only render the active scene "Cam01".

Steps:
Download my .blend and edit/run this script (with your corresponding paths) and render with it.

#!/bin/bash

echo "render Cam01"
/Applications/Blender_2.90.app/Contents/MacOS/Blender -b /path/to/the/scene/testing_bug.blend -f 1 --scene "Cam01"

echo "render Cam02"
/Applications/Blender_2.90.app/Contents/MacOS/Blender -b /path/to/the/scene/testing_bug.blend -f 1 --scene "Cam02"

Event Timeline

While I haven't tested this yet, I think the order of CLI arguments is incorrect. Blender's CLI arguments are executed in order and -f starts the rendering before the scene is set. Placing --scene before -f will likely work.

Stephen Swaney (stiv) changed the task status from Needs Triage to Needs Information from User.Sep 22 2020, 7:28 PM

In Blender, the order of command line arguments matters. See the section Argument Order in the help text ( blender --help)

If you move the --scene in front of the -f , you should be golden.

It seems that putting it in front of -f has worked!.
The fact is that the same script in previous versions of blender did work.

I have two other solutions to the problem:

1 One is to save one blender scene per Cam and render with several .blends.

2 The other option is to put all the composition nodes in the active scene.

It would be nice if blender warned you if you were putting the arguments in the wrong order!,

Thank you.

Robert Guetzkow (rjg) closed this task as Archived.EditedSep 22 2020, 7:53 PM
Robert Guetzkow (rjg) claimed this task.

I'm closing this ticket because the correct order of CLI arguments allows to switch the scene before rendering.

/Applications/Blender_2.90.app/Contents/MacOS/Blender -b /path/to/the/scene/testing_bug.blend --scene "Cam01" -f 1

Please note that Blender does inform about the order of operations during execution. It prints Scene switch for render: 'Cam01' in file: '/path/to/the/scene/testing_bug.blend' to the terminal/console when the scene switch happens. In your original CLI arguments this was printed after the rendering.

The order of arguments isn't technically wrong, it's just not what you intended to do in this specific use case. If you would've wanted to switch the scene after rendering the first frame, it would've given you the intended result. Hence, Blender can't display a warning since it doesn't know your intentions.

The fact is that the same script in previous versions of blender did work.

@zebus3d (ofuscado) I've tested this with Blender 2.90 to 2.79, they all behave the same. If there was a previous version that ignored the order, this would have been a bug.

The fact is that the same script in previous versions of blender did work.

@zebus3d (ofuscado) I've tested this with Blender 2.90 to 2.79, they all behave the same. If there was a previous version that ignored the order, this would have been a bug.

Ok, thanks for everything anyway!!