Ends Today: Save up to 95% on the Time Travel Mega Bundle!

Warning: Some of the screenshots include assets not included in this Plugin. One of my examples is made by throwing this system onto a Modular Dungeon Pack. Keep in mind that this is a system for custom lighting in the material editor, not an asset pack!


Short preview Video

Documentation

Example Project


All things considered is a product primarily aimed at a very specific minority of Unreal Engine users.


If you, just like me:

  • Want to make (a) stylized or cel shaded game(s)
  • Tried everything to make desired your look work, including post processing cel shaders, material based cel shaders or even building your own custom engine shading model from source but for some reason couldn't get it to look just right
  • Still ended up with results that either look uncanny, off or even outright too simple


Then this may be exactly the thing you've been looking for.

In essence, my Virtual Lighting System is a Plugin that allows you to easily create beautiful, complex and dynamic Material based(!) cel shaders that are able to react to the outside influences of being currently lit/unlit, a potentially infinite amount of dynamic movable point lights with a potentially infinite amount of possible colors (within the RGB spectrum of UE ;)) all at the same time!

How do we do that? Simple, by attaching a custom Actor component to our cel shaded actors that'll take care of generating dynamic material instances at runtime and live update their unique parameters to ensure everything is handled smoothly for you.


"But why would I use material based cel shading when things like post processing already exist?!"

There was one simple reason for me why using post processing (only) for my cel shading wasn't an option and that reason is visual clarity. Subjectively speaking post process based cel shading will always look a bit off, as it will always be based on physically "accurate" lighting information, which will never match the simply beautiful clarity of a basic unlit material, nor does it give me the creative freedom to precisely fine tune each object and characters shading the way I'd want to.

If you're interested in objective reasons only, here's the list of benefits I've found so far:

  • Post processing based cel shading breaks when using volumetrics. The ScreenUV based texture coordinate of post processing simply doesn't allow this, which means they lose you the ability to use actual volumetrics in your game
  • Post processing cel shading does only allow for very janky implementations of colored lights. There are indeed workarounds that make things look somewhat right, but the result is never 100% accurate.
  • Post processing materials do have a large performance cost and simply making one or two characters who may not even be on screen at all times cel shaded you'll have to render out the full screen view and do, what you could call a cut out, afterwards
  • You have complete creative freedom over stylistic choices because your lighting system is not bound to any physical accuracy anymore. Want your Postprocess based outlines to be simple, but have extremely detailed shading visuals? Just do you shading calcs but don't actually use the normal map. Want your default shading to smooth and simple, but have extremely detailed shading when exposed to another external light source? No issue, just use different Normal-Solutions for the different lighting calculations.

Technical Details

Features:

  •  Fully custom virtual lighting subsystem, with the main goal of creating goodies and functionality for material based cel shaders that do not need to rely post processing to achieve stunning results
  •  Carefully prepared blueprint actors to make using the plugin as convenient as possible
  •  A selection of material functions to be able to just plug right into Virtual Lighting without ever having to worry about the actual in depth implementation
  • A fully setup cel shading material to demonstrate how the material function library can be used to easily get stunning results from using Virtual Lighting
  • An easy to use actor component as the link between the system and your dynamically shaded actors

Code Modules:

  •  VirtualLighting, Runtime Module

Number of Blueprints: 2 (Default Directional Light that self registers & a more user friendly Virtual Point Light Actor for you to use)

Number of C++ Classes: 3 (Subsystem, Actor Component & Virtual Point Light)

Materials: 2

Material Functions: 6

Textures: 1 (Default Engine texture to not break materials)

Network Replicated: No

Supported Development Platforms: Windows

Supported Target Build Platforms: Windows

Documentation: Link

Example Project: Project Files (~300MB zipped)

Important/Additional Notes:

14.37 
Platforms Windows 64-bit
UE Versions 5.1 - 5.2
Tags ANIME, ANIME SHADER, NoAI, DYNAMIC LIGHTING, STYLIZED, POINT LIGHT, CEL-SHADING, SHADER
Release date 22.05.2023

Similar products

Image
Sign In
Image
Sign Up
Image
Recovery