Distance Field AO & Shadows for large scale architectural visualisation?

Has anyone tried this?

We don’t do any kind of baking, because 1) we want to look at what we do at different times of day, 2) we frequently swap out models to try new things and 3) we can’t be bothered to do clean lightmaps.

Distance field shadows is apparently a new thing created for Fortnite, but has anyone tried it with architecture? From our testing, it doesn’t seem to handle thin walls and roofs very well:


First, here’s standard sceen space AO. You can see that it doesn’t fill large cavities like the entrances very well at all, but is very good at other things like the aisles between the seats.


Here’s the distance field AO. It works very well on the entrances, but note how the left part of the roof doesn’t get any AO at all. That’s because the thin roof didn’t get any distance field volume generated for it, regardless of resolution setting.


And here’s how it looks with distance field shadows only (cascade distance it too close to show up here). The right side of the roof does cast a nice shadow, but still unfortunately gets very blotchy distance field AO.


And that nasty AO still stays when you view it up close, so even if you get good shadows, you can get sabotaged by the AO.

I’ve noticed that object scale impacts distance field shadow resolution almost greater than the shadow resolution setting itself.

Object size also has an impact, and this stadium roof is split into several sections to get smaller objects.

However, very thin objects, regardless of size, almost never gets good distance field shadow generation (I have some really bad examples that I can’t show publicly).

Has anyone had any better luck with this?

It has been in the engine for a while. As far as I know it’s made for scenes where the lighting is fully dynamic. It would be too expensive to create shadows for every object in a dynamic scene. So this creates cheap “blob” shadows for objects in the distance. It works well for that but you need to set it up correctly. It doesn’t like large objects and odd shapes (thin and long for example). So it won’t work for your scene. It’s not a replacement for AO.

For a scene like this I would recommend that you split the roof in repeating segments and then bake the lighting (AO) for them. Best to recombine the pieces as instance static meshes in a blueprint and place that in the scene. It’s needs a bit of planning and a bit of try and error.

The roof is already split into 6 pieces, though I guess I could split it into even more.

I haven’t considered baking ambient occlusion yet, because again I didn’t want to deal with lightmaps, but a quick search shows that you might be able to bake it into vertex color data. That result might also be a bit messy, but at least it won’t be lightmaps, so that’s a nice tip thanks.

Anyone else experimented with distance field shadows in arch viz?

If you want to work with unreal you will need to make light maps. There is no way around that fact for the next few years :slight_smile: - I know everyone hates them but it’s not that hard. If you already have UVs for your asset unreal can use them to create the 2nd UV set for the light map. (Build settings of the mesh)

A quick way to do a light-map is to box-map the meshes UVs in 3ds max and then let unreal create the 2nd light-map from this. For building parts or non organic forms that works pretty well.