How to make flat shading in blender (basicaly like a 2D animation)

Welcome to BA :slight_smile:

First of all, the “perfect 2d shader” you’re looking for is a bit of a unicorn- I personally, as well as at least five other highly prestigious art professionals I know, have been working on this very problem for many years. Let me spare you some searching and address this:

There’s no shader that is going to fix this. The only way to fix this is with a massive slew of various techniques ranging from camera-angle shapekeys to dynamic normal editing, with a nice mixture of dynamic UV-based inner lines animated on a geometry-nodes flattened proxy mesh and some 2D SDF shadow blending (see Petikam et al) thrown in for good measure. I’m not saying this to discourage you- I just want you to understand that there isn’t one simple answer for what you’re looking for.

That all said, I have built a shader after years of experimentation that does react well to colored light and has lots of powerful controls to get more of a 2D look. I think this will help you- check it out, especially the CEL_LIGHT part:

This is not everything you need, but it should get you started :slight_smile:

In terms of the normal editing I talked about, you can’t do better than @Ascalon 's work (check out their topics), and their site:

Referring back to Petikam et al, you can find that paper and research here:

You can find my personal (currently on-hiatus) experiments with that mechanism in Blender here:

While it’s in no way a complete solution, it is, unfortunately, the only existing implementation in Blender

3 Likes