Maniphest T81063

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

Assigned To
Robert Guetzkow (rjg)
Authored By
zebus3d (ofuscado)
Sep 22 2020, 5:46 PM
Tags
  • BF Blender
Subscribers
Robert Guetzkow (rjg)
Stephen Swaney (stiv)
zebus3d (ofuscado)
Tokens
"Love" token, awarded by juang3d.

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

zebus3d (ofuscado) created this task.Sep 22 2020, 5:46 PM
zebus3d (ofuscado) updated the task description.Sep 22 2020, 5:49 PM
Juan Gea (juang3d) awarded a token.Sep 22 2020, 5:52 PM
zebus3d (ofuscado) updated the task description.Sep 22 2020, 6:47 PM
Robert Guetzkow (rjg) added a subscriber: Robert Guetzkow (rjg).EditedSep 22 2020, 7:18 PM

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
Stephen Swaney (stiv) added a subscriber: Stephen Swaney (stiv).

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.

zebus3d (ofuscado) added a comment.Sep 22 2020, 7:52 PM

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.

Robert Guetzkow (rjg) added a comment.EditedSep 22 2020, 8:07 PM

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.

zebus3d (ofuscado) added a comment.Sep 22 2020, 8:10 PM
In T81063#1021212, @Robert Guetzkow (rjg) wrote:

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!!