I have a problem with transparent emissive objects in render, they are not visible in rendered output files.
Eevee or Cycles doesn't matter, I always get the same result.
What am I missing? Maybe there is a problem with the material.
I have a problem with transparent emissive objects in render, they are not visible in rendered output files.
Eevee or Cycles doesn't matter, I always get the same result.
What am I missing? Maybe there is a problem with the material.
Alpha channel is used differently in different types of software. In Blender, Premultiplied Alpha Method is used, the alpha channel indicates not the opacity of the layer, but how much light it blocks. Let me show the example:
Here you can see, that Alpha channel is 0, which means full transparent in straight Alpha, but in premultiplied it transparent but adds some color value, as color mix in add state.
Then you save this image in PNG, alpha will be converted from premultiplied to straight and these pixels becomes transparent. It is an actual headache for newcomers, these are just a couple of questions:
Glare Transparency Correct in Render, but lost in save to PNG
EXR color difference to PNG
Why are transparent colours desaturated when exported?
How do I get the Glare node to output transparent instead of Black background
Glow effect invisible on transparent background
Blender result different from png rendered
The problem is that you cannot convert Premultiplied Alpha to Straight Alpha without loosing color information. So the common solutions are:
Here is the setup that you can use for it:
More complicated setup to reduce darkness:
Color ramp here is completely up to you, controls how much opacity will be in glow areas.
Straight Alpha Method where RGBA channels are stored as (R, G, B, A) channels, with the RGB channels unaffected by the alpha channel. This is the alpha type used by paint programs such as Photoshop or Gimp, and used in common file formats like PNG, BMP or Targa. So, image textures or output for the web are usually straight alpha.
Premultiplied Alpha Method where RGBA channels are stored as (R × A, G × A, B × A, A), with the alpha multiplied into the RGB channel.
This is the natural output of render engines, with the RGB channels representing the amount of light that comes toward the viewer, and alpha representing how much of the light from the background is blocked. The OpenEXR file format uses this alpha type. So, intermediate files for rendering and compositing are often stored as premultiplied alpha.