I work with Blender 3.0 Cycles X and I am having a problem with the difference between viewport preview shadows and rendered shadows.

I am rendering an anime-styled character and I wish that there is very little shadow around her nose to keep the anime style. To achieve that, I set the Shadow Terminator - Geomotry Offset to 1.0, and my goal is achieved in viewport render preview: There is very weak shadow around her nose, which is desired

Nevertheless, this effect is gone in the actual render (evident shadow around the nose): Actual render with evident shadow, which is not desired

After numerous testings, I found that the difference between the render results is related to the custom split normals data of the mesh. If I clear custom split normals data of the mesh, the viewport render and the actual render are approximately the same (except that the viewport render has no motion blur):

viewport render without custom split normals data

actual render without custom split normals data

As I mentioned above, I am actually aiming for the effect of the first viewport render(the first image).

Why do the viewport render and actual render have different shadows (They use the same sampling number and denoising method, and I am not using subdivision surface)?

How can I achieve the viewport render result without changing the lights?

Thank you for your help!


1 Answer 1


I suspect that a subdivision surface modifier has different subdivision levels for Viewport and Render. Try checking that first. I also recommend upgrading your blender version, since 3.1 is pretty much functionally equivalent, and will have bug fixes.

  • 1
    $\begingroup$ Thanks for your reply!! Nevertheless, I am not using any subdivision surface modifier. I will take a look at Blender 3.1. $\endgroup$
    – Spark S
    Mar 16, 2022 at 14:28

You must log in to answer this question.

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