Alpha not working in Cycles

Hello,
I have an issue with cycle not working with alpha (viewport and render).
I’m using a tga + alpha, mix shader with transparent and diffuse shader, and factor attached to the alpha of the texture.
I tried different solutions but nothing works, the plane remains black.

Any suggestion or idea?

I would suggest converting to a .png file. The bit-depth normally associated with .tga files may be an issue.

Nope, doesn’t work either.

Could you supply more information? Images of the node setup or, preferably, upload a file.

I would double check that you have set film to transparent in the render setting, also ensuring that you are giving enough samples to the the transparency light paths. I would also check the mesh. Make sure there are no overlapping faces or vertices, make sure the normals are pointing the right way. also ensure that your UV mapping is correct and also ensure that there isnt a different shader being applied to the other side of the mesh, or even other side of the face depending on how your shader is set up.

  • Film is already set to transparent
  • Lightpath total to 128, transparency to 128, doesn’t change anything
  • The mesh and alpha work perfectly fine in eevee, the problem comes strictly from cycles

Here’s the graph, nothing special (texture was removed on purpose).

I tried with a TGA and PNG.

The color value for the Transparent node should be white (1,1,1,1)

I already tried, it doesn’t change anything. :confused:

I’ve tested the same graph and texture in a new scene, and it worked.
I’m checking the scene parameters, but they’re the same.

Anything could be wrong with the mesh then? Would be surprising because it works in eevee…

EDIT: Also tested the material on a plane in the same scene, and transparency worked. So I guess the mesh is the problem?

I’d say something is wrong with the mesh (normals and such as @B-Rae sugested). I just tested alpha in Cycles and Eevee with two different shader setups and they worked in both engines (note for Eevee - must enable alpha in the materials tab - Alph Hashed, in my case).

In the following, I have a plane and cube with alpha.
Eevee:

Or

Cycles:

When I switch the render engine back to eevee, alpha displays perfectly fine.

And something’s definitely wrong, I tried assigning different materials to the mesh and it’s always black in cycles.
Again, it works perfectly fine in eevee, I don’t understand what’s going on.

I tried flipping normals, it doesn’t change anything.

Now I have the alpha working fine in material preview mode, but display render view still shows black material.

I really don’t understand what’s happening.

EDIT: Another interesting point: I’m in cycles, but when I choose material output “cycles”, the material becomes pink in material preview. However, when I select “all” or “eevee”, the material displays the alpha as expected.

I tried removing the material entirely from the mesh, it still renders black.
The same mesh renders perfectly fine in Eevee, looks like a bug to me.

EDIT: Now I tried to use the override material function, it worked. When I use override, the mesh is affected.
But I can’t assign a new material to the mesh directly from the material tab, it just won’t take it. It remains black.
I don’t understand what’s happening.

Any chance you can provide a file that it happens in? I can try to help you figure it out if you want.

is the mesh an import from an other software, than try to disable autosmooth or clear custom split normals im mesh-properties

Autosmooth was disabled, and I can’t find clear custom split normals data in mesh properties, I found it using F3 and it didn’t do anything as well.

Reminder: the render works fine material preview mode, but render preview displays a black material.

Here’s the file. Oddly the mesh/texture becomes invisible once I delete the character instead of being black, but there’s still an issue. The mesh has always been separated from the character.
BrokenMeshCycles.rar (305.2 KB)

You have ray visibility disabled. The material looks fine elsewhere because these settings only apply to Cycles rendering.

1 Like

This was indeed an issue, I fixed it (I modified it while making tests).
But the mesh still displayed black.

I think I found the issue: I tried deleting all materials attached to the mesh (there were lots of them actually) and eventually the alpha showed up.
I’ve mentioned earlier that I could assign a material to the mesh, so I think there might be a bug with that. And deleting the material that couldn’t be removed fixed the problem somehow.

Thanks for your help y’all, I appreciated it!