Movie Render Graph Passes with alpha

Hi,

we try to setup movie render Graph wich can render layers and passes. And we encounter issues when producing passes with alpha.

Rendering passes via the post process materials in the deferred render node to a jpg are looking fine but as soon as we switch to png they are all black. I also tried to invert the alpha in the material which did not help. When rendering out EXR the alpha is partly there, often it seems to be inverted but sometimes completely missing.

What would be the correct way to support alpha channel in passes and the png format ?

Best

Dominic

Hi Dominic,

If you are generating alpha values for output inside a post-process material, please check the following in the PPM asset:

  • “Output Alpha” is enabled
  • “Blendable Location” is “Scene Color After Tonemapper”
  • Alpha values are connected to the “Opacity Override” in the material attributes node (the alpha channel of the “Emissive Color” attribute is ignored)

If you need your post-process material to access the alpha component of a color obtained through a “Scene Texture” node, make sure that your Project Settings also have “Rendering -- Default Settings -- Alpha Output” enabled.

Additionally, if you must work with a “Blendable Location” that is not “After the Tonemapper”, check the settings for the “Deferred Renderer” node in the Movie Render Graph Config and try checking “Post Processing -- Disable Tone Curve” to see if it helps.

If none of these suggestions help, would you be able to provide some more information about your setup, such as your Movie Render Graph and your Post Process Material Graph (possibly simplified to a minimal repro that does not include any project-sensitive information)?

Best regards,

Vitor

Hi Dominic and Vitor.

This is a bug in Movie Render Graph. The alpha channel on PPM passes should be 1 rather than 0. We will fix this in UE 5.8.

In general, the alpha is meant to be ignored on these passes but some image viewers may premult the image against the alpha before it displays it so the fact that it’s 0 makes it seem like nothing is there even though it technically is there.

That said, are you using this in the context of Render Layers where you are isolating Actors and just want the Scene Color After Tonemapper for the isolated Actors?

Ryan.

Hi [mention removed]​,

Thanks for your help!

I don’t know what happend to the reproducer I attached to the ticket, but it seems it is gone.

Ich checked the reproducer again and we where using the MoviePipeline_* and Engine/Content/BufferVisualiszation materials, which do not have Output Alpha on.

What i did now to make it work now:

  • ProjectSettings->AlphaOutput = true
  • Material:
    • Domain = PostProcess
    • BlenadableLocation = Scene Color After Tonemapper
    • OutputAlpha=true
    • OpacityOverride = inverted A channel of SceneTexture:PostPrecessingInput0

It was quite a lot of trial an error to get the right combination of values and nodes. Especially since SceneTextrue:Opacity is completly black, and the Viewport preview via a PPV is different than the rendering with MRQ.

Thanks for you help!

Best

Dominic

Hmmm. I can see the attachment now (with a date prior to my answer), not sure why I missed it before. But I’m glad you were able to make it work as expected now.

Feel free to ask if you have any further issues!

Best

Vitor

[mention removed]​ Thanks for the Info, good to know it get fixed in 5.8.

We are isolating Actors and want to have various passes for later composition.

I thought .png will delete all color information if the alpha is 0 but i will check with another program like gimp.

Best

Dominic

Hi Dominic.

It depends on the viewing application, some will still show RGBA even if A=0.

As an update, we checked in a fix for the bug where alpha is always zero. Note that if you do want the alpha, you will need to set it in the PPM you use. Here is the fix in UE5 Main, it will be in the UE 5.8 release:

https://github.com/EpicGames/UnrealEngine/commit/0579437a0f2f6405b4e21625f9b17821a594c253

Ryan.