Capsule Shadows for StaticMeshComponent

Hi, I know you have capsule shadows for skeletal meshes in order to ground characters but I was wondering if there isn’t a super simple way to use this same tech for normal movable mesh actors?

Because it is AWESOME and would greatly improve arch viz projects that could suddenly have baked static lighting for the big stuff and the smaller stuff could all be movable to design your own spaces from furniture. Now it just looks wrong when you have movable stuff inside properly baked scene.

Left: Movable; Middle: Movable Skeletal Mesh with Capsule Shadows; Right: Baked Static Lighting

What I do now is I create a simple approximation of the shape with bones (especially the parts that touch ground of course) then I import that as a Skeletal Mesh Actor into Unreal and rearrange and rescale the capsules until it all fits well and I get rid of self shadowing. Lastly I use BP_PickupCube to have the object pickable and movable so I can move chairs, tables, books, vases.

I suppose this could’ve been made much easier though through having in in the Static Mesh Actor (which would be movable of course).

Do you think this would be possible to think about? So I don’t need a rig for all my chairs :slight_smile:

Also I noticed there is some possibility of this with Mesh Distance Fields? Thing is that doesn’t work in VR if I am aware and it seems not to be worth it when there is a way to do this more easily. Also if I recall correctly your skylight must be movable and that just isn’t the case here.

Looking forward to your opinion. I love your engine and I have spent countless sleepless nights because of it. :slight_smile: And I mean that in the best way possible.

Keep on being epicly unreal.

Did you find a way to get those soft shadows from static meshes?

The equivalent of Capsule indirect shadows for static meshes is called ‘Distance Field Indirect Shadow’. It allows shadowing of baked and indirect lighting, just using a mesh distance field instead of a capsule setup.

For this to work you need to either have ‘GenerateMeshDistanceFields’ enabled on your project (can cost a lot of memory), or just enable ‘GenerateMeshDistanceField’ on the individual UStaticMesh (costs very little memory).

Distance Field indirect shadows affecting a Static Skylight (baked into lightmaps)

219283-temp.jpg

Distance Field indirect shadows affecting an emissive light (baked into lightmaps)