How to make EEVEE (or Cycles) look as Workbench?

Hello, folks;

This conversation could be very abstract, but I’ve decided it is much better to share some of the results, so that it may become very clear, what the Rendering problem is about. EDIT: I’m sorry, but I had to decide between making this thread in the Rendering/Compositing section and the Material/Shading section; I hope I’ve made the right choice.

The image below is a 2D OC Character of mine (Aisha) which I’ve been making in 3D for a while. Recently, I’ve found a special combination of solutions which can generate this very appealing Ilustration flavor to the Render. It was Rendered in Workbench with simple Compositing, against all odds as for a while I was not able to figure out any interesting results in EEVEE in spite of Compositing.


The combination taking place here is very straightforward:

  • Good yet simple Texture Painting (please, focus on the Skin Material only when it comes to Image Texture);
  • One (or more) Line Art Modifier for a Scene-like Grease Pencil Object Targeting different Mesh Object Collections;
  • Workbench Render Engine; Lighting: Flat, Color: Texture, and with careful settings for Shadow and Cavity Options
  • And for Compositing, Nodes are just Hue/Saturation/Value, Color Balance Node and (negligeable) Kuwahara.

For an ilustration project, or even some very Stylized 3D Animation project, maybe that is probably a nice solution. Besides it’s very lightweight.

However, here is where things start to get complicated (at least for me).

Workbench doesn’t actually Render Lighting from Light Objects source, nor can it hold special Shading (e.g., Roughness for special reflections on Materials; though I’ve heard it might handle some sort of Transparency with caveats), nor can it handle any sort of Noding solutions (even Image Texture Nodes cannot be Mixed together!!!). Well, probably everyone used to this section already knows all these very well, but just to revise then.

So, it became imperative for me, for this aesthetic investigation, to get past those Workbench limitations in some way (because, especially, directive Lighting from curated Light Objects including with precise Light Colors, is super-important in Scenes for translating emotion).

The first candidate for me, is EEVEE; assuming it is even plausible to emulate the ilustrative quality of Workbench in some way, while attending to the Lighting needs.

So, I’ve made these 2 extra Renders in EEVEE (again, focus more in the Skin Material, though not only). In the first one, we can see special Lighting from a Point Light Object in-between the Hands of the 3D Character; we can also observe some sort of Reflection from the Iris now (Roughness), although I should mention the white ‘Reflection’ spots in the Pupils are, in this case, just a basic Color Map trick (it doesn’t show in the Workbench Render, because Node combinations do not work at all, not even the simplest tricks!).


So, as you can see, those results in EEVEE are extremely different. So, this now gets more complicated and enters the Shading domain. No matter what I do now, I just don’t seem to get matching results (assuming that would even be plausible!).

I’ve swapped all the Light Objects to 3 Suns (white, orange, pink) instead of 1 Sun (white) and the other 2, Areas; besides there is this addtional new 1 Point (cyan). I believe that strategy sort of improved a little (‘Flattened out’ maybe), the Light effect of Shading onto the 3D Surfaces, so it helps it looks more like the 2D results from Workbench (which might work with more global Lights, thus more like Sun than anything else). But that wasn’t any close to sufficient.

I’ve implement Ambient Occlusion (Input Node), to try to mimic the Cavity; but again, this is far from optimal; but it provided some improvements nonetheless.

Nodes-wise in Shader Editor, it is basically this:

So, the big question is:

How to make EEVEE look more like Workbench?
(And if EEVEE is not good enough for this ‘backward’ approach, perhaps Cycles?)
(Also, I do not discard Compositing multiple Render Engines, but I do not have experience in that, and I believe there would be tons of different approaches, and most of which will just not work, not without a lot of understanding of Compositing/Rendering which I do not have currently).

In terms of Shading, I do not know whatever else to do with these Nodes (assuming a good approach would come from Nodes). If you pay careful attention to the 2D ilustration-like render, you’ll realise that this is not exactly Cell Shading (and nor is it exactly Cell Shading that I’m looking forward to). Although there exist a world in which, playing with some sort of ‘Partial’ Cell Shading, might be the solution? But I know this is usually quite difficult (there is barely any tutorial on this particular technique), thus I want to avoid if possible.

Thanks in advance for any feedback!

Really, I do not need to reproduce Workbench ‘features’ like 100%; but, if could get at least a better approximation (e.g., about 50%) toward the Workbench Render, from the state I currently got in EEVEE, that would already be a real game-changer!

Funily enough, popular tutorials in Blender are like: ‘How to make EEVEE looks like Cycles’ and stuff like that; sure I understand. But where is the opposite though? :smile_cat:
Wouldn’t be great if Blender had a Workbench 2.0?

2 Likes

Why try to make Eevee like workbench?

You should be able to just render it using workbench as the render engine if that is what you like (choose workbench as render engine).

2 Likes

Well, I’ve anticipated the answer to that question; however, I must say that it is in the context of the long text of my first post. :sweat_smile:

Workbench is providing incredible results straight ahead, but… it is lacking crucial features for a more versatile/configurable Scene, regarding Lighting and Shading.

1 Like

I’d start by disabling Raytracing and Jittered Shadows in EEVEE, also setting Color Management to Standard.

And about flat colors and shaders, you can use the Shader to RGB node to get a more stylized look.

2 Likes

I agree with the others.

It’s not (I believe) “make it look like Workbench”, but more of “make it look celshaded.”

Which is certainly something Eevee can do. It just looks like with your Eevee attempt, you didnt perhaps know how it’s done.

Here’s a basic standard approach:

There are many variations on that, but should get you started.

2 Likes

Yes and maybe try out the new NPR branch

NPR shading does seem much more like what you are after

2 Likes

Thanks for the observations.

Well, turns out Raytracing and Standard were already set; sorry I didn’t mention anything about those settings before. But it’s still useful to reinforce awareness concerning these Options.

I do not understand the Jittered Shadows Option part. Because, it says it’s just a Viewport Option here, although the description tells that it will always be present on Render…!
But anyways, it is counter-intuitive for me. Isn’t Jittering akin to Crisper outlook? In my perception, it would be good to have (some degree at least) of crisper/noisy Shadows here and there, unless it would be too awkward random thing of course. Turning it on and off, has very, very subtle effect, so I don’t really know what is is doing exactly.

I suggest you start with one sun, and disable shadows entirely.

Get the material set up properly for diffuse light and dark. Once you’re happy with that, then activate shadows and tweak as necessary.

2 Likes

Ohh, that’s quite interesting. Well, Blender 4.4 then? :laughing: I’ve just got into 4.3.0
But makes sense. I believe you got the idea; maybe you are right: the NPR approach, with some refreshed attention Blender Devs are giving to it, might be the “Next Level” I’m struggling to achieve? :face_with_monocle:

I’m very curious now. Thanks bro.

Not sure, for the moment they are looking for feedback, but yes they do want to make an NPR engine. Now that Eevee is more “realistic” NPR had more problems so there is a need for it.

2 Likes

Bro, this is what I’m talking about.

The majority of the Cell Shading Blender tutorials on Youtube are too simplistic for what I’m trying to achieve. I only know a couple of samples, which attempt something in the direction I’m trying to evoke.

But you may be correct in the notion that, perhaps, getting into the Cell Shading methods (for EEVEE), and because there are variations, might be an alternative to make it work more like Workbench result.
Like, somewhere in this tutorial, there will be a special case addressing the issue of having a differentiated in-between Procedural Texture, between an intermediate Color Steps (of a Color Ramp Node); this is beyond the basics, and only a couple of tutorials will show this technique. It’s like you need to take off a couple of the Color Ramp Colors from the Node itself, and make them behave differently as the other Color couples, even if they do not represent the extremities of the Color Ramp; it is a quite complicated thing to do (some even achieve it with Math Nodes); more like Intermediate to Advanced level of Shading.

Unfortunately, I can’t find the exact examples right now, sorry.
Even this tutorial, regarding this I’m talking about, is very limited, but at least it addresses it, a bit like an accessory possibility --in the midst of all the rest which is simpler.

I dont mean this as a criticism, at all - but what your image from workbench shows, isn’t a complicated shader in Eevee.

So it’s not been clear to me than you’re going for … far beyond simplistic. But like I said - there are many variations on how to do it. If you have the basic down, it’s going to be easier to add more complex to it.

2 Likes

Thanks for the suggestion, bro.

I’ll remember these start-simple conditions, when I go back trying more results.

Yes, I understand, but I think you need to slightly improve your Graphism Analysis.
Here, take a look at these screenshots. You can see that the limits between Color Tones are not always the some, nor regular, or there would be at least 2 patterns of in-between Shading taking place, a bit anomalous as some of them have taken place as ‘happy accidents’ Workbench Renders. Some limits are sharp, while some other are smooth; I didn’t really predict such variations (I believe it is related to the Orientation of the Global Light, but I haven’t predict that coming; it was just a happy accident that is VERY IMPORTANT for 2D Artwork; it makes it feel more organic, natural). So, it’s a whole set of combination of things, which makes, trying to reproduce such ‘panacea’ in EEVEE, for instance, very hard, because one would have to predict everything perfectly, and this might or might not be easy, depending on the quality desired. There might be more patterns which I haven’t spotted myself, but I would consider these 2 as good examples. The fact that came straightforward from a Workbench Render, in contrast with the overall regular ‘boringness’ of the other EEVEE Renders, is also somewhat shocking. If one goes straight into Cell Shading, there won’t be these results I think, there’ll jsut be Regularity, that is not any good. And this is why the Cell Shading tutorials (most of them) are not real good; they might be useful, but they aren’t Original.

Captura de tela 2024-12-05 213307
Captura de tela 2024-12-05 213256
Captura de tela 2024-12-05 213228
Captura de tela 2024-12-05 213219
Captura de tela 2024-12-05 213204
Captura de tela 2024-12-05 213146
Captura de tela 2024-12-05 213113

You can do all of that with a shader to RGB node and a color ramp

1 Like

Hey, @joseph! Thanks for replying.

I don’t know much about the Shader to RGB Node. You’re second to mention it besides @thorn. Is there any tutorial about it that really shows how that is supposed to work? I mean, most likely, for these kind of cases where more detailing is required. I get the notion it can take Diffuse Light data and Convert to active Color Map… but I don’t really know how that can be used effectively for interesting results.
So, you see in the Shader Editor screenshot, I have indeed a Shader to RGB Node. But, whether I turn it on and off, in that Setup, it doesn’t do anything. Probably, I’m not using a good Setup for it to shine.

Wait… I think I got it… Color Ramp AFTER the Shader to RGB… after the Shader has got all those inputs from before? :face_with_monocle: Is that what I’m thinking? Is there any screenshot for that result reference?

Starting to feel a bit like I’m being lectured on how to do a thing, by someone who doesn’t understand how to… and was asking how to.

Yep, the shader to RGB converts the shader into the colors, then the color ramp does whatever you want with those colors

1 Like

I don’t think you realize, how toxic 90% of your replies actually are, since your first reply.

But I am the agressor!!! :sweat_smile:

Bro, with me it’s like this: You kind. Me kind. It’s all reflection.

All right.

So, I’ve made a quick test here with my Material.

It looks like the Color Ramp sort of improved (or better control to be more precise) the noisy AO effect overall, which is something I was trying to do before and was having a lot of difficulty (it is documented that AO is difficult to handle for expansions or something like that.

But, it seems that it won’t solve other issues, such as the excessive ‘Regularity’, and something else must come after the Color Ramp other wise the Color Map gets bounded to the Color Ramp’s Colors (which is not good in my opinion!) but worse, the Light Objects’ Colors stop interacting with the Color Map. Probably some ‘neutral’ Mix Color can solve… but it’s like solving a problem by creating another. :sweat_smile:

Anyways, thanks for the Setup idea, I’ll remember that one when expanding the tests.
There would be at leas 3 paths to follow for me now…
NPR Blender 4.4
EEVEE Cell Shading base (with improvements)
EEVEE/Cycles but with some other ways

Thanks for the contributions, bros.
If anyone still want to make observations on the Shading/Rendering problem, feel free to reply even if later.