Dynamic blob shadow ?

That’s what I am using. The thing is that Showdown happens on a flat floor at constant Z. So it’s not applicable to general levels, where actors that should be casting blob shadows can be anywhere on Z and floors can be as uneven as they come.

Also, I can’t use deferred decals for mobile - they too performance taxing :frowning: (and I don’t recall if they even work in mobile VR)

SphereAO is different from spheremask. It is meant to return the fraction of a hemisphere that would be occluded by a sphere of a given size and location. It returns this value for a given position in the world. It can be used in lighting functions or used directly but it probably will not look that interesting by itself.

Sphere AO shown as an unlit material. Note that sphere AO goes black when the geometry is inside of the sphere radius as shown when the sphere is hidden:


Here is the whole material. A blueprint sets the S parameter based on an editable vector variable that I marked “show 3d widget” which lets it be dragged around. Great feature for debugging:

Mesh decals are more intended for things like destruction of edges where you can model the decal geometry to fit exactly. For foot shadow type stuff youd probably want to stick to either regular decals or box mesh with world position behind translucency.

The more uneven gaps you want to support, the more conservative you need to be with the oversizing of your geometry. Ie in the bullet train case they could be relatively flat since we knew the floor was flat in the gameplay area and the effect was disabled until enemies got there.

As far as how to set up the worldposition behind translucency, here is a super basic example with emissive green, using actor position. Actual implementations will need to pick shadow color somehow or use alphacomposite to decide how to blend, and ActorPosition will likely need to be set via a bone location using an MID, or use 0,0,0 transform local->world or something, depending on how you attach. And you can definitely try to fit the shape better since I just used a cube here:

To support camera going inside the box, use a box with inverted faces, disable depth test in the material settings and use depthfade as a final multiplier on the opacity. This is effectively doing custom sorting with opaque geometry.

It seems that attachment is borked. Could you please re-attach ?

retrying attachment
5603061f6d1ce380723772c72e37a6abb02b20ef.jpeg

@ I’ve tried the box + position behind translucency approach and it works, except that the character is also shadowed since it’s inside the box. What would you recommend to avoid the cube/shadow from being rendered over the character?

There are a few options. I usually get the World Normal and extract the B channel and use that as a mask. That way only upwards facing polys get affected strongly which tends to help. You could also try masking by things like shading model.

Do you think you can post your scene setup and material setup, please?

This is my blob material:

I use BlobRadius as a scalar parameter to set the blob radius and ShadowColor as a vector parameter to set the shadow color and opacity. My texture sample uses a texture from the engine contents located in EngineVolumetrics\LightBeam\Materials\T_EV_LightBeam_Falloff_02.uasset.

This material is applied to a cube mesh that is bound to the character position.

@RicarDog

Tested your setup - unfortunately it doesn’t quite work (size/intensity doesn’t change as object moves away from the surface) and it totally doesn’t work in Android (ES2) preview :frowning:

This is how it looks on the device:


@ Any idea by chance why that material won’t work in ES2 ?

Well, it’s not supposed to change as it moves away. The cube must remain on the surface at all times. If you want your character to jump and change the blob accordingly, you have to manually set the desired the radius / color depending on the character’s height.

I use this to set the cube position according to the character’s position (based on a bone) in the character blueprint:


The Shadow Blob here is the cube mesh. I ignore the height to keep the cube grounded. You can work from there to set material properties such as the blob radius and color based on the Z coordinate.

Hello, I looking for the way to make blow shadow mat, can anyone share please the material? Thank you.

Sorry for the necropost, but can anyone help me out with this? 's “worldposition behind translucency” method is working great, but I can’t figure out either of the two options he mentioned for preventing the shadow from affecting the character.