Hi, I’m Luoshuang. Just now I have finished DFIS for UE4. This idea is derived from Capsule Shadows directly, it extracts light direction information from indirect lighting cache, and generate indirect shadows by cone-tracing against distance fields.
Between this and your multi-lightmap solution, you’ve certainly got my attention, this is pretty impressive. Two questions actually, one about each project.
For this, does this work with fully dynamic lighting by any chance, or do you need to bake it down like in your github’s readme?
Also, for your multi-lightmap project, how scalable is it exactly? If I throw the multi-lightmap build at a scene around 16km large, would it work properly or do you find that for something like that, fully dynamic is still the better option?
This is really cool, especially that you used the object distance fields instead of the global distance field, since the global distance field is very low res.
I’m thinking the ray marching of mesh distance fields should be integrated with the capsule shadow tiled culling implementation rather than done separately with its own upsample. Conceptually a mesh distance field is just a different occluder primitive than a capsule, it sill has a bounds on its influence so it can be culled vs tile bounds in the same way.
The main downside of using mesh distance fields for indirect shadows like this is that you eat a large memory cost from enabling ‘Generate Mesh Distance Fields’ for the whole project just to get a few movable objects to cast. I’d probably add an opt-in on the UStaticMesh, much like you have to setup a USkeletalMesh for capsule shadows.
ok, had to log in just to say wow! This is what we need! Having characters with indirect shadows is awesome, but it’s a shame to see them interact with chairs for example that cast no shadow at all. Adding capusles for those is not pretty! This however is a very nice!
Like DanielW said, there should be an option to opt-in to specific staticmeshes.
Read the README.md on GitHub you will find that only meshes with “Distance Field Indirect Shadows” checked will cast indirect shadows. is talking about memory consumption when enabling “Generate Mesh Distance Field”, since current DF management is not specifically optimized for only a few objects.
If you want to check it out early be sure to get cl 3186069 as well, that made the resulting shadows look a lot more believable.
“Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high”
I’ve noticed that there are huge changes about distance fields on the master branch, e.g. complete refactoring of the df lighting system, performance improvements, and exclusive DFIS testing contents, etc. Since DFIS is already in 4.15 but not advertised in the changelog, may I assume that 4.16 would have a bunch of DF features? @DanielW