2
$\begingroup$

So I am making a Minecraft animation. I have been trying so hard to figure out how to get rid of all the noise though in my scene. I want the shadows and objects to look nicer and smoother. I have tried almost everything to get rid of the noise. In Light Paths I set Bounces Max and Min to the same values, the resolution is 100% at 1920 x 1080, I have adjusted the clamp indirect to many values such as 1, 3, etc. I am using an HDR image to light my scene and I heard HDRI's can cause it if you don't have a high enough Map Resolution in the settings so I even set the Map Resolution to 6000 when 2000 should be enough. I even tried rendering the image at 1000 samples and it still wouldn't go away when 200 samples should have been enough. I heard that despeckle nodes can help but I don't want to use one because they can greatly reduce the quality of each image.

I circled some of the noise spots with a red circle.

enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here

$\endgroup$
  • $\begingroup$ If you are using an HDR environment enable Multiple Importance sampling $\endgroup$ – cegaton Jul 25 '16 at 0:54
  • $\begingroup$ I am using that. $\endgroup$ – Austin H. Jul 25 '16 at 1:53
  • $\begingroup$ That is what I used for the image you see in my question. Still doesn't work. $\endgroup$ – Austin H. Jul 25 '16 at 3:16
  • $\begingroup$ Please post images of the settings used. $\endgroup$ – cegaton Jul 25 '16 at 3:30
  • 1
    $\begingroup$ Possible duplicate of How to avoid noisy renders in Cycles? $\endgroup$ – Matt Jul 28 '16 at 16:04
8
$\begingroup$

Let's walk through troubleshooting this, shall we?

Ok, first, where is the noise in the image? You might notice it does not appear in the sunlit areas, just the shadows. So we can eliminate that it is coming from the first hit (camera > surface) or evaluating the brightness of our main sun light. We can also observe it does not appear solely along the edges of shadows, rather it is spread throughout the shaded areas.

The fact that it is spread evenly in the shaded areas but does not appear in the sunlight tells us it is coming from one of the sources of fill light. That could be an additional light source (like a skydome/HDRI or a fill light) or it could be from global illumination. Or perhaps it is a reflection of fill light. How do we find out?

The answer is in the render passes. Over in the layers panel, enable the direct and indirect (don't worry about the color pass) for glossy and diffuse. Which of the 4 passes contains the noise?

Diffuse direct - Your source of noise is the direct light evaluation itself. This usually comes from HDRIs. Make sure the "multiple importance" option is enabled and the resolution is set to the # of pixels on the longer side of your HDRI map. For example, a 2048x1024 HDRI you would use the value 2048. If you are using the branched path tracing integrator, you can increase the world sample value to send more rays towards this problem for each primary sample.

Diffuse indirect - Your source of noise is global illumination/diffuse reflection: light scattering off a surface and illuminating another surface. Check that you do not have surfaces with excessively bright diffuse colors (diffuse color is the surface albedo, it should never be 100%/1.0. Even 90%/0.9 is uncommon, that's why the default is 0.8). Additionally, try disabling caustics in the light paths panel. These are harder to resolve than normal scattered light. Finally, the more diffuse bounces you have, the greater than chance of a ray taking a "funny bounce" and returning an anomalous value. Reduce this under light paths, many scenes the difference for any values over 2 isn't really noticeable unless you compare with a 2-bounce render. If you are using branched path, increase diffuse samples in the render panel to send more rays to this problem

Glossy direct - Your source of noise is reflections hitting varying parts of a textured light. This is more or less the same problem you'd see in the diffuse direct pass. The solution is the same, check MIS is on for the world and set to an appropriate resolution.

Glossy indirect - Your source of noise is reflections of other objects. Blurry reflections mean a ray can take off in a variety of different directions. Depending on which one it picks, it can catch different objects in the reflection. The final blurry reflection is an average of all of these, but until your trace enough rays for the situation to average out, you get noise. Try using the filter glossy option to contain the possible variance(it limits the shininess as a ray bounces more times), and like with diffuse avoid non-emission shaders with extremely bright colors. You can also lower glossy depth under light paths to try and contain the possible results, although can lead to black reflections if set to low. If you are using branched path, increase glossy samples in render settings to send more rays to this problem

$\endgroup$
  • $\begingroup$ So in the renderlayers under passes just enable diffuse: direct and indirect then glossy: direct and indirect? $\endgroup$ – Austin H. Jul 25 '16 at 4:55
  • $\begingroup$ I did all the steps you said and I am still getting similar noise results. $\endgroup$ – Austin H. Jul 25 '16 at 5:09
  • 1
    $\begingroup$ Enabling the passes will not fix the issue, it merely lets you see where the problem is. My answer lists some steps to try depending on which pass you see the noise in. $\endgroup$ – JtheNinja Jul 25 '16 at 5:55
  • 1
    $\begingroup$ I'm not sure what to tell you that isn't in my original answer. "Shadows" aren't a distinct thing, they are regions with less light. The problem is likely to be with what light is present in the shadow than with the shadow calculation itself (that usually shows as noise along the shadow edge). It's impossible to say without doing test renders, but my guess is you'll need to just increase samples further, or reduce the brightness of your textures so they reflect less light. $\endgroup$ – JtheNinja Jul 25 '16 at 6:40
  • 1
    $\begingroup$ The resolution of the "importance map" that tells Cycles where the bright regions are. Matching the image resolution makes sure this map is accurate. It does not need to be power of 2. If you use an 8k hdri, I'd recommend using a downscaled version for lighting and only using 8k for camera rays (use light path node). Might want to make this its own question if you need more info. $\endgroup$ – JtheNinja Jul 27 '16 at 4:52
1
$\begingroup$

You're mistaken in thinking that 1000 samples is "a lot." Unless you have "square samples" turned on, then 1000 samples is really not very many.

For many scenes (especially complex stills), I regularly render hundreds of thousands of samples before the noise goes away.

The only REAL way to get rid of noise is to render enough samples. It's a statistical problem. Cycles has to "find out" what color a given pixel is by testing (sampling) it. It has to take a lot of tests because there are a lot of contributing factors. Cycles will (sort of) average each sample for a given pixel, but until Cycles has taken enough samples of a pixel that pixel's color will only be approximately the correct color.

There are ways to mask, disguise, or otherwise hide the fact that the color is only approximate, but all of those techniques necessarily sacrifice accuracy and quality. There are already a number of good answers that describe what noise is, how it's caused, and how to mitigate it. You should read them. They will be helpful.

One thing that will really help you render more samples is to bake the lighting for anything that doesn't move (and only if none of the lights move). Because none of that data for those objects changes from one frame to the next, it's possible to make it into a texture. When you use that texture on an emission node for that material, it looks exactly the same, but renders WAY faster (basically, it's just doing a lookup on the texture, without having to do any calculations). Since those baked objects render faster, you will be able to render more samples in the same amount of time. This will make the objects you CAN'T bake less noisy.

BlenderGuru has a good tutorial on baking.

$\endgroup$

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.