PBR lets us describe objects using their physical properties - albedo, metallic, smoothness, height, etc. - and the light model works out how the lighting should look.
PBR lets us describe objects using their physical properties - albedo, metallic, smoothness, height, etc. - and the light model works out how the lighting should look.
We can loop over each light to apply diffuse, specular, Fresnel, and ambient lighting to objects. The ShadowCaster pass lets us block lighting from reaching other objects.
Custom functions let us inject any code we want into Shader Graph, including data about additional point lights for a multi-source cel-shading effect.
We can add new types of lighting to a graph, such as Fresnel (rim) light and cel-shading.
With physically based rendering (PBR), we describe the physical properties of a surface, such as albedo color, normals, smoothness, metallic, and light emission.
With halftone, we can posterize a smooth shading gradient into a stylistic dot-matrix pattern with differently-sized dots.
Retro consoles could display a limited number of colors, and we can emulate them by posterizing the color output by our shader.
With a bit of added custom HLSL code, we can use Shader Graph to create a cel-shaded lighting effect.
We can implement a texture lighting ramp for finer control over our lighting cutoff points and use different stencil IDs to prevent strange outline overlap issues.
Outlines are a great way to emphasize the toon aesthetic, and we can add inverted hull outlines in a second pass.
Normal maps let us add finer detailing on an object's surface and change the way lighting interacts with the object. Fresnel lighting helps objects stand out in a scene.
By introducing a hard cutoff point in the lighting ramp, we can render cel-shaded lighting, which makes objects look cartoony.
Unity provides ways of accessing information about lights in the scene, and we can use the vector dot product to calculate the amount of illumination on the surface.
We use simplified models to approximate the way real light behaves. By splitting light into ambient, diffuse, and specular components, we can calculate light efficiently.
The cel-shading technique was used to stylize the look of many games such as Wind Waker and Jet Set Rario. This series of articles will explore how it works.