Untitled.png

Used basic unidirectional shadow mapping through a SceneCapture2D, as this is meant to run offline it’s completely fine, however for runtime hacking Unreal’s shadow projection system and making a custom toolkit for our needs is the way to go.

Instead of using Depth output of the camera, in which the depth pass can be completely incorrect sometimes, I output normal Scene color, I run the ca,era through a post-processing material where I filter out Z only, Therefore getting true height data.

Pass the data through basic shadow mapping with BoxBlur and remap the output a little. Blend with some noise and extra occluders. SphereMask to win them all.

Within the C++ code and blueprint I basically automate most of the manual process of the set up.

There’s alot of cool things that I can elaborate on like Editor Tick, pre-loading assets as defaults and EditConditions, however I’ll leave it to you to play around with the system 🙂

Untitled

Extra video of usage with some nice low music 🙂

PreviewTask2_JadDeeb.mp4

Looking back at this, first ease-of-use tool I would make would be a simple utility widget that makes it easy to select/deselect the sky occlusion actor for faster iterations.

ContentScreenshots