Website powered by

Burnfront: Cell Shading and Outline Shading

Developed and finished the core visual system, the cell shader material, and the Outline shader for my game Burnfront

For Burnfront, we draw inspiration from stylized titles like Borderlands and The Wolf Among Us, both of which use bold cel-shading techniques to create a graphic novel aesthetic. Our visual style aims to reproduce that expressive look through heavy outlines, strong contrast, deliberate color blocking, and dramatic lighting, giving each frame the feel of an illustrated panel.

Cell shader
A generic cell shader that renders lighting blocks rather than gradients to give it a flatter look, like it is hand-drawn and 2D in 3D space.

The cell shader is designed as a material rather than a post-process effect. I find it easier to use it as a material because it allows me to create individual instances of the master material and customize each mesh separately. In contrast, a post-process cell shader applies the effect to the entire scene after it has been rendered, which provides less control over the shading. It is a bit harder to manage and slightly less performant compared to the post-process cell shader, but I appreciate the control I have and need.

Features
- Multiple shadow bands
- Sky influence
- Tint
- Color, Emissive, and Normal map compatibility
- Rim Lighting
- Specular highlights
- Fake sun direction and scene lighting controls
- Roughness and anisotropy controls

Outline Shader
Draws a line around the mesh and the normals of the mesh from the textures. This is a post-process since I only need one constant outline throughout the scene.

Features
- Custom Depth Masking (Select objects to not have the outliner affected by it)
- Max draw distance
- Multi-controllable outlines
- Outline thickness modulation based on distance to the camera

Resources I used
- https://youtu.be/9KvUfnrHcqM?si=5Fdl9kdvMGynMWsY
- https://youtu.be/4-a8QZIf1Dc?si=1orHuYyzfT3Wm6HA
- https://youtu.be/iR0dJCF5ItU?si=GO536-aLnkWPOz3a
- https://www.reddit.com/r/UnrealEngine5/comments/1c9h7oq/how_to_make_my_outline_shader_good/
- https://forums.unrealengine.com/t/object-outline-material-shader/538754
- https://www.youtube.com/watch?v=YwZH4jCO4ZM
- https://www.youtube.com/watch?v=HDyswSWIdY0
- https://www.youtube.com/watch?v=lOOs74MLxec
- https://forums.unrealengine.com/t/ue5-anime-toon-cel-shading-model-works-with-launcher-engine-versions/544226/14
- https://www.reddit.com/r/unrealengine/comments/uo8xxp/how_to_do_cel_shading_in_unreal_engine/

Models used
All assets were made by me from previous projects:
- Beru: https://www.artstation.com/artwork/mAPXZd
- Kay Walker: https://www.artstation.com/artwork/rlV6dE
- RK-08 dual pistols: https://jaydenyounger.artstation.com/projects/K34XDG

Public combat demo is out now, https://jaydenyounger.itch.io/burnfront-combat-demo

Shaders and visual view 1

Shaders and visual view 1

Shaders and visual view 2

Shaders and visual view 2

Shaders and visual view 3

Shaders and visual view 3

Shaders and visual view 4

Shaders and visual view 4

Night-time shading adjustments

Fake sun

World lighting

Basic cell shader showcase on primitive objects

Basic cell shader showcase on primitive objects

Cell shading on character models

Cell shading on character models

Custom depth pass that excludes objects from using the outline shader

Custom depth pass that excludes objects from using the outline shader

Multi outline colors

Multi outline colors

Normal base outline based on mesh normals from the mesh and the texture

Normal base outline based on mesh normals from the mesh and the texture

Outline shader draw distance

Outline shader draw distance