OpenEXR MultiLayer output with animated View Layers - broken in 4.2?

I often render animations with several different objects fading in and out over the course of the animation. View Layers are great for this, and to save on render time, I usually animate each View Layer’s “Use for Rendering” checkbox, to only render the part of the animation where each layer shows up.

Up until Blender 4.1 this worked without problems, but since 4.2 it doesn’t anymore. It looks like turned-off View Layers do not get saved into the EXR file anymore (instead of just being an empty layer), even if the Render Layer socket is connected. This causes After Effects to not properly recognize the image sequence anymore, as the layers change over the course of the sequence.

Anybody else experiencing this problem? Why was this changed, when it worked before?

Haven’t heard this workflow before tbh…

Did you try to import the sequence in e.g. Fusion, to see what happens?
And what does Blender show you in the compositor?

If all aps show you broken sequences, something has changed in the output, or could be a bug.
You cannot be sure without some testing :wink:

1 Like

Well, it’s a very useful technique when you have a lot of layers, but don’t want to render all layers for the whole sequence, which would unnecessarily increase the total render time.

image

Importing the EXR sequence into Blender’s Compositor gives different results, depending on which version of Blender it was rendered in (4.2 or earlier).

For Multi Layer EXR sequences rendered in Blender 4.2:

Opening the sequence in the Compositor only shows the View Layers that were “turned on” for rendering on the first frame of the imported sequence, ignoring any other View Layers that might have gotten turned on at a later frame. The viewer shows a pinkish “file not found” image whenever the selected View Layer was turned off for a specific frame.

For Multi Layer EXR sequences rendered in Blender versions up to 4.1:

Opening the sequence in the Compositor works just as intended: All View Layers (that got a socket connection in the File Output node when they were rendered) are listed, no matter if they only got turned on at a later frame in the sequence. Whenever the currently shown view layer got turned off at a certain frame, the Compositor just shows a transparent image, not the pink “file not found” image.

This means, earlier Blender versions correctly saved “turned off” View Layers…

image

…into the EXR sequence, as long as they got plugged into the File Output Node…

image

… which created the EXR layer for EACH FRAME of the sequence, no matter the “Use for Rendering” state of the View Layer.

Blender 4.2 doesn’t do this anymore, completely ruining this workflow.

No idea tbh.

There’s so much stuff that has been changed in 4.2, logic dictates some things will get broken.
If you can visit the developer forum, I would suggest posting there, or at least log a bug report.

Or… Something changed in the exr format:
News (openexr.com)
exrinfo (openexr.com)

Are the exr files in a different version by any chance?