[Rendering] Modulated shadows do not combine correctly on mobile

Modulated Shadows is a old shadows from UE3/UDK.

https://udn.epicgames.com/Three/ModulatedShadows.html

Yes it is new feature for UE4 but limitations is same.

I just enabled modulated shadows on mobile and noticed that they are not combining correctly.

For instance, in the reference below, I have a character with an attached mesh and the two shadows do not combine correctly.

Expected result:
The player shadow and the bat shadow should be the same tint

Actual result:
The player shadow and the bat shadow are different values

Test platform:
Samsung Galaxy S6

As far as I am aware, this is a new feature in 4.9 (for mobile devices)

See the 4.9 release notes here:

Under the section “NEW: DYNAMIC CHARACTER SHADOWS FOR MOBILE”

I am referring specifically to the section that says “To enable this feature, turn on the “Cast Modulated Shadows” option on a directional light!”

I have added a “mobile” tag to this question to make sure that people are aware that this is a mobile specific question

I’m not sure what you mean by “limitations is same”.

In PIE, under the Selected Viewport and the Mobile Preview option for the game, the attached object (in this case, the bat) do not render shadows. The expected result however is that they would render correctly.

On device (Samsung Galaxy S6), the shadows are rendered but not combined correctly, as shown in the screenshot above.

Hi Ben,

As svv3dUDN mentioned this is a limitation at the moment with a newer feature. I’ve got ahead and entered a ticket for this with UE-22184.

I want to preface that this may be a limitation of the modulated method for mobile and may not be resolved in the near future or at all. Once there is an update for the ticket I’ll post back here with any relevant information.

Thank you!

Tim

Hi Ben,

I got an update on this one. This is actually a limitation of Modulated Shadows. Since this is a newer feature there isn’t a lot of documentation out there other than the older UDK page.

We will have a new documentation page up soon with some information on this implementation in UE4 along with limitations and other details related to the feature.

Tim