1
$\begingroup$

I have quite a dense scene, with a lighting from behind through fog. I like the mood very much. Here is an EEVEE render (16 samples):

enter image description here

When I render this with cycles (512 samples) it looks like this:

enter image description here

One can clearly see the planes, where the images of the textures are placed on.

Before the scene was that dense, I made a cycles render with the same settings and got this:

enter image description here

I'm keen about knowing more about the effect in cycles. I believe, because the more dense scene leaves less less light will reach the planes in front of the camera and this will cause the effect. But I wonder why the transparent plane parts are affected by the rendering at all...? Because they are... transparent!?! I wonder if insanely high sample values in cycles would improve the situation or if I just have to have a more powerful light. In the end this should be an animation of at least 300 frames.

(like here in EEVEE: https://youtu.be/f4u1mUMdepI)

Edit: This is my shader node tree for the "Image as plane" object of one of my flowers:

enter image description here

Edit: This is the image on a plane that I use as texture. I cannot see any non transparency on that plane though...

Edit: Well, maybe there is something, because the grid does not shine through as bright as it is besides the plane. Looks as if I made some fundamental mistake by creating that image for my texture...

$\endgroup$
11
  • $\begingroup$ Just to be sure, did you plug the alpha output of the image texture into the fac input of a mix shader, with a transparent shader on the upper socket, or did you do something else? $\endgroup$
    – user143855
    Commented May 31, 2022 at 17:25
  • $\begingroup$ See my edit above. I have not done anything by myself except for adding an "image as planes" object, which then asks me for the image to put on the plane. The nodes above are then automatically added. Since I'm just at the beginning of my Blender journey, it looks reasonable to me because of the connected alpha channel. Could you evaluate a little bit on the "fac input" you mention? What I think is important here is that the rendering result of the plane changed with increasing density of the scene. If you see the image with the relatively empty scene, all planes are invisible. $\endgroup$
    – Kiamur
    Commented May 31, 2022 at 20:17
  • $\begingroup$ That sould do the trick, but I never use the Alpha socket of the Principled BSDF myself, so I'm not entirely sure. It may be that the alpha channel isn't completely transparent where it should be. I'm just sitting down to dinner, but I'll post an answer later with what I usually do. I cannot guarantee that it'll solve your problem. If the alpha channel isn't fully transparent, it won't help. If you're open to sharing the texture you're using, that may well give some insight. $\endgroup$
    – user143855
    Commented May 31, 2022 at 21:12
  • 1
    $\begingroup$ It might be an interesting experiment to throw a converter->colorRamp into the alpha line and pull the black and white knobs towards the center. If it is an alpha channel that isn't fully transparent this might fix it... $\endgroup$
    – Ron Jensen
    Commented May 31, 2022 at 22:12
  • $\begingroup$ Thanks! I'll give it a try with the color ramp! I will also share the texture in its current state, No problem. I just have to return home from work. The one question that bothers me ist the fact that the plane ist visible in the dense scene but not in the previous one. In between both renders I have not touched the texture plane at all and both are rendered with 512 samples. $\endgroup$
    – Kiamur
    Commented Jun 1, 2022 at 5:21

3 Answers 3

1
$\begingroup$

This problem may have less to do with your shader-tree, and more to do with your render settings. Blender's Cycles renderer is built for realism, but by nature, Cycles is still a little bit of a biased engine, to avoid obscene render times on simple scenes.

Let's tell Cycles to put a little more effort where it's needed:

Go to the "Render Properties" tab, (looks like a small camera icon) and click on "Light Paths".

enter image description here

enter image description here

Under Light Paths, locate the section that reads "Transparent".

enter image description here

Change your "Transparent" Light bounces from "8" to a higher number, like "32" or "64".

(I recommend finding the lowest value that works for your scene, and rounding it up high.)

Good luck! Happy Blending!

$\endgroup$
2
  • $\begingroup$ Thanks for that hint! I'm currently evaluating but I struggle with render times of 5 minutes per frame @ just 64 samples (instead of 512 in my initial images). So far I have checked values of 32 and 64 in "transparent light bounces" but I have not seen any improvement, yet... I will tweak a little bit around and post the results later. $\endgroup$
    – Kiamur
    Commented Jun 1, 2022 at 17:38
  • $\begingroup$ Hello! I am sorry that this did not answer your question. Could you re-pack your .blend file, and send it once more? I will try to solve this problem more thoroughly, but I will need to dig into the issue firsthand. (If you need help packing .blend files, here is a simple tutorial: ( youtu.be/SqwEGDIPTY8 ) $\endgroup$ Commented Jun 1, 2022 at 18:55
0
$\begingroup$

I'm sorry about the delay, but here's the answer I promised.
This image shows how I usually use transparency from images:
Nodes for transparency

I did a quick test with the Alpha socket of the Principled BSDF, and it seems to give the exact same result, though the setup in the image also works with shaders that don't have an Alpha socket. I doubt if the setup described here will actually make a difference, but one point of difference (that may or may not matter at all), is that I always change the interpolation of image textures to Cubic. I also explicitly include the UV, but that really shouldn't matter, as for image textures the default UV map is used implicitly. My best guess is that the alpha channel of your texture isn't fully transparent. You could, as @RonJensen suggested, insert a Color Ramp to make sure the alpha value actually is 0 where it should be.

The Mix Shader mixes two shaders such that if the Fac is 0, it's equivalent to using only the shader that is connected to the upper Shader socket, and if the Fac is 1, it's equivalent to using only the shader that is connected to the lower Shader socket, and anything between 0 and 1 mixes the two shaders correspondingly.

Why your problem doesn't occur in Eevee, I honestly cannot say for certain, but I seem to vaguely remember having been told that Eevee only has on or off for transparency, no in-betweens, unless explicitly enabled. This would make sense from a performance point of view, but accuracy would of course suffer.

$\endgroup$
4
  • $\begingroup$ Thanks for the answer! To clarify my point: Image number 1 in my post above is Eeevee. The next two images are both cycles, rendered with 512 samples. So the image which contains the rocks and the dense vegetation has this strange texture effect, but not the image that only contains 2 trees is totally fine. This one bugs me the most: Both are cycles with the same image textures of my flowers, but the dense scene does not render correctly (as Eevee does in image number 1 of my post). Again, I post my texture as soon as I got hands on my computer... $\endgroup$
    – Kiamur
    Commented Jun 1, 2022 at 14:05
  • $\begingroup$ Just another comment that refers more to your answer: I really do appreciate all the little details you provided like the description of your node tree. I must admit I don't fully understand all of it, but at least I have some hints to further investigate. Also, the point that Eevee has a default setting of on or off for transparency is a good one to have in mind. I'm really interested in such background knowledge but I haven't found a thorough documentation of Eevee and cycles, yet. $\endgroup$
    – Kiamur
    Commented Jun 1, 2022 at 14:16
  • $\begingroup$ @Kiamur I got that first image was rendered with Eevee, and the other two with Cycles. I can't offer an explanation, but one guess would be that it gets more visible if there's stuff behind it. Think of a pair of slightly tinted glasses; if you hold them up in thin air, the tint is close to invisible, but if you hold them up facing an obstacle, the tint gets more pronounced. But I have a hard time believing that would account for such a great difference with your renders. You could try to crank up the value for Transparent under Light Paths in the render properties. $\endgroup$
    – user143855
    Commented Jun 1, 2022 at 15:33
  • $\begingroup$ Please find that texture in my post above. I'm looking forward to your comments. $\endgroup$
    – Kiamur
    Commented Jun 1, 2022 at 16:41
0
$\begingroup$

I'm extensively embarrassed...

As Pierre suggested, I wanted to upload my blender scene. It was way too big and so I started to reduce the objects in it.

As mentioned initially, the effect occurred when the density of the scene increased. So I thought, at one point, the effect will disappear, while I reduce objects... In the end I had less objects as in my initial question, but the effect was still there.

Then I saw it... I somehow, accidentally doubled the plane on which all the particle textures were placed... By doing this, I inflicted the effect by myself because now, planes were just on top of each other and I cannot blame cycles for running wild here. I'm sorry that I wasted everybodys time!

To make it clear, here are some before/after screenshots: enter image description here

enter image description here

However... as shown in blue, there are still artifacts of the plane visible. They disappear more and more, when I increase the overall render samples. The lightpath setting that Pierre suggested does not help here, either. I still wonder why a transparent plane has such effect in cycles...

Anyway, I still tried to upload the file for you to examine (the "blue circle" effect), but I cannot reduce the file size under 49MB and I'm only allowed to upload 30MB. Since the main question is answered, I think this question can be considered as closed. Thanks everybody! I learned a lot!

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .