[UE5] Anime/Toon/Cel Shading Model (WORKS WITH LAUNCHER ENGINE VERSIONS)

Do you happen to know of a way to remove self-shadowing (while receiving all other shadows) with engine code?

Conceptually, I think you’ll likely need to create an extra render pass with a custom shadow map of all casted shadows for the non-self-shadow meshes (i.e., shadows that these objects cast onto other objects) and create a mask to only render these shadows. For the non-self-shadow meshes themselves, you can turn “Cast Shadows” to False to receive all shadows from other objects. In the end, these meshes will be able to both cast shadows (due to the extra render pass) and receive all shadows that are not their own (the “Cast Shadows” = False setting).

Not sure if that makes any sense, or even works, but it seems pretty complicated for just removing self-shadowing while considering how shadow mapping works. Probably grandmaster-level shader programming proficiency in Unity, and likely impossible in UE? :rofl: :melting_face:

The reason I’m asking is that self-shadowing ruins shadow masking. Shadow masking is the superior way of anime face shading (as opposed to mesh normal editing or other shadow hacks to get around PBR shadows), and gives much cleaner and more controllable results.