Kai Müri shared a breakdown of the experiments with watercolor renders in Blender, talked about creating a paper-looking background.
Hi, my name is Kai. I worked as a Graphic Designer in the advertising industry for six years before I started studying 3D animation at the Lucerne University of Applied Sciences and Arts. After my graduation, I started working as a freelance 3D generalist. I love creating stylized 3D characters in my spare time, where the line between 3D and 2D seems to blur.
Working with Blender
I started tinkering around with Blender in 2008 when Blender released the open movie "Big Buck Bunny". The fact that open-source and free software got the capabilities to create something with such great quality got me intrigued and inspired. About 4 years ago I started to work with Blender intensively at University and really got into those nooks and crannies. With the release of version 2.8, I wanted to test the Blender feature set in short film production. For this reason, I created in a team of 4 people a short film called "La vida de una Piñata", in which we used Blender as the main production tool. I wore many hats during this project. Besides directing, I also got to do a lot of animating, modeling, rigging, and art direction. I learned a lot during this production and Blender proved to be a robust and reliable tool for short film production from start to finish.
I've been thinking about creating something with a watercolor shader in Blender for a long time. For me personally, watercolor is one of the most expressive art media out there. When you’re painting with watercolors, you have to deal with a lot of water that flows around freely on the paper and mixes randomly with different colors. Those beautiful "happy little accidents" give an illustration and its charm are difficult to replicate in 3D because a computer often works too cleanly and perfectly.
A few weeks earlier, Ben Harvey, one of my favorite illustrators, posted an artwork of Mr. Freeze on his Instagram account. This work inspired me to start experimenting.
I experimented a lot with node-based shading during this project. In the midst of the process, though, I decided to use Sketchfab for a real-time presentation in a browser. Since Sketchfab does not support node-based textures yet, I ended up painting many textures manually in Substance Painter. But nevertheless, I was able to achieve some cool watercolor node effects in Blender. At this point, I would like to mention that Lighting Boy Studios, Hadyn Lander, and Diego Gangl's tutorials and forum threads have helped me tremendously. They provided a variety of ideas and gave me a jump start for my node experiments.
For the world material, I used a seamless paper texture and mapped it with the Window texture coordinates onto the background material. The Light Path node allowed me to separate the lighting from the camera so that the texture mixes in real-time with what is displayed in the viewport.
The bust itself consists of three parts – glass hood, body/head, and outlines. Each of them is made out of different materials. I painted the material for the body and head manually in Substance Painter. After carefully studying the artwork by Ben Harvey, I started painting the head layer by layer. The great thing about working with Substance Painter was that I could have a layer for each color. This allowed me to work non-destructive and precise. I used some handcrafted alphas alongside the default watercolor brushes in Substance Painter.
Here’s a quick rundown on how I stacked the layers in Substance Painter:
For the glass hood, I first tinkered around with the watercolor shader by Diego Gangl. It is also a node-based approach where I combined several noise textures with some Fresnel effects. Once I colored those noise textures with color ramp nodes and fed them into an emission shader, I ended up with a pretty convincing real-time water color shader.
But for the real-time visualization in a browser, I had to use an image-based solution. For that, I created UVs in Blender and painted some watercolor strokes onto the hood. To create a convincing outline I used the “inverted hull method”. I duplicated the hull a few times to create multiple meshes for the outlines. For each outline mesh, I had to create a separate second material slot. For this material, I painted for each outline a separate image texture, where stamped some random brushstrokes.
Then I joined all meshes that were sharing the same first material (body or hood) and added the solidify modifier. The “inverted hull method” with the solidify modifier is very flexible, and you can achieve vastly different results with it in order to fit your style or liking. The most important settings are the flipped normals checkbox, the thickness, and the clamp slider. Everything else is optional. But in this project, I also used vertex groups to tweak the details and the thickness of the individual outlines manually. This allowed me to create wobbly outlines, which helped create a convincing hand-painted look.
The awesome thing about working with Eevee and NPR shaders is, that you can work in real-time, which allows for rapid experimentation and fast render times. I never had to worry about rendering overnight. Blender delivered results instantaneously. One known limitation of the technique is that the textures are non-reactive to the lighting in a scene. For this project, this was perfectly fine, because I knew I wanted to upload the model to Sketchfab, where I used shadeless lighting anyway. But if you want your models or characters to react to the lighting in a scene, I would recommend building a watercolor shader from the ground up and don’t paint the lighting directly onto the model. There are several approaches to this, but a good starting point is the aforementioned tutorials by Lighting Boy Studios and the tutorial by Diego Gangl. The key part of a convincing watercolor shader is to keep things loose. The more imperfections and happy little accidents the better. Start experimenting, the possibilities are endless.
You may find these articles interesting