I am shading a planet, made up of three ico spheres, one for the planet itself, one for the clouds, and one for the atmosphere. However, the cloud layer is introducing this weird band/artifact on the planet that runs behind the beginning of the shadow. Up close, it almost looks like water caustics.

planet shadow artifact

Here is the node group for the cloud layer.

node group cloud layer

The atmosphere also produces a similar effect, but it is harder to see. It is clearest on the edges of the planet.

atmosphere banding

atmosphere node group

  • $\begingroup$ In the Render Settings under Light Paths > Max Bounces, how much have you set for Transparency? $\endgroup$ Apr 26 at 8:15
  • $\begingroup$ I have 10 set for transparency, my total is 16. $\endgroup$ Apr 26 at 15:06
  • $\begingroup$ Hmmm... for this setup I would suspect 10 to be enough (total bounces are irrelevant for transparency, they are only for the other bounce settings). And the screenshots are Rendered View in Cycles? $\endgroup$ Apr 26 at 15:43
  • $\begingroup$ Yep, the screenshots are using rendered view in the viewport with Cycles. I did a full render just to check but the artifacts are still there. $\endgroup$ Apr 26 at 17:36
  • $\begingroup$ I found a Blender file for an Earth based on Andrew Price's tutorial. The atmosphere looked fine, and I appended the atmosphere object and material to my project, but the bands were still there. So the problem seems to be from a setting in my own project. $\endgroup$ Apr 26 at 18:40

Ok, after trying many different things, the problem is that my clouds and atmosphere were too far above the surface of the planet. The light would pass through one side of the icosphere, above the surface of the planet, and come out through another side of the icosphere. The weird caustic effect is caused by the normals of the icosphere, since it doesn't have thickness. This means that the normals were correct for the outer face and incorrect for the inner face, which meant the light came out weird.

The fix for this is can be found in this article: https://www.katsbits.com/codex/backface-culling/#rendered-cycles. The geometry node has a "backfacing" output, which means that putting that into the factor of a mix shader connected to the main texture and a transparent BSDF will make the light hitting the interior of the icosphere transparent, fixing the banding problem.

  • $\begingroup$ Oh I see, I didn't really look at the height of your cloud and atmospheric layers... in my Earth model I don't need backfacing information since my layers are much closer to Earth's sphere - though still not as close as they are in reality proportional to Earth's diameter. You see, if you take Blender's default UV Sphere with a diameter of 2, then the cloud layer sphere would have a diameter of 2.0003 up to 2.003, while the atmospheric "glow" sphere would be about 2.015 in diameter. That's pretty close to the Earth's surface 😉 $\endgroup$ Apr 26 at 22:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.