Tools/Languages Used: Unity URP, Blender, C#, HLSL

See the full project here:

https://github.com/Diana-ou/hw04-stylization

Table of Contents

Final Render

Final Render


Engraving of the Devil

Engraving of the Devil

1. Inspirations

My initial inspiration for this project started with 16th-century style wood engraving. Investigating this style, I noticed a few things:

2. Interesting Shaders

In order to get the final look, I developed the following process:

Shifting Inspirations

One cool application I thought of while developing my shader was applying it to one of the most chilling scenes from one of my favorite artists.

The aim of this project was not modeling, so to assemble the scene, I took some amazing assets of the praying astronautsdarkness devil, grass, and mysterious stains.

You can see the chapter that inspired this shot and more work by Fujimoto here.

Untitled

Concept art, Tatsuki Fujimoto

Unshaded scene, before any shaders or materials.

Unshaded scene, before any shaders or materials.

Stylized Material

Before any additional render passes, I constructed a custom material that buckets the shadow to a cell-shaded value, and then uses shadow attenuation to hatch the shadows.

In areas where shadow is necessary, the shader lerps between a hand-drawn sketchy texture that I drew and the shadow.

To make the final product appear more hand-drawn, I also use a slight noise displacement to make the sketchy texture appear more organic. I finally blend a paper texture to sell the look.

Light variations of the shader were used to ensure the special features like textboxes, space helmets, and stains.

The nightmare shadergraph used to attenuate the shadows, etc.

The nightmare shadergraph used to attenuate the shadows, etc.

The sketchy custom texture used for the shadow

The sketchy custom texture used for the shadow

Scene, with custom hatching material

Scene, with custom hatching material

The shader, used on a simple sphere.

The shader, used on a simple sphere.

Users who use this material will be able to customize:

Outlines

To really sell the hand-drawn look, I needed to implement outlines. Unfortunately, a satisfying outline effect is only possible using depth and normal information in a second render pass.

I followed Robin Seibold's tutorial to implement Robert's cross depth and normal-based outline. Furthermore, outline UVs are also mildly deformed to give the entire shader a hand-drawn look.

I then blended the outline to the buffered screen texture created in the previous pass.

Additional things I added to this pass was an additional darkening based on depth to the camera. This is just to make things pop out a little bit.

Roberts cross shader graph

Roberts cross shader graph

Sphere, with the outlines

Sphere, with the outlines

Users will be able to customize:

Scene, with the outline pass

Scene, with the outline pass