Reflection Captures dont work with moveable directional light on mobile

This works fine on P.C. but not on ios or on the mobile previewer.
If the light is static the reflections work. If its changed to moveable the reflection just becomes a specular bounce from the light source. This removes the indirect spec quality.

Howdy TeamKingdom,

Thanks you for reporting this issue. Would you be able to attach your Dxdiag and your project log files to this post? Also, is there a step by step process I may be able to use so I can recreate this issue on my end? Any additional information would be greatly appreciated.

Thanks and have a great day!

Im unable to send the info right now but the setup was simple enough. 1 moveable directional light that rotated to change the light direction. Simple scene with a cube and a sphere. Very simple material with diffuse, roughness from alpha channel (quite dark to make the material smooth and reflective) and a bumpy normal map. 1 reflection capture sphere. An unlit emissive sky dome that doesn’t cast shadows. A static skylight.

This all seems fine in the editor and standalone game for p.c. But when I switch to the mobile previewer or deploy to iOS you can see in the more reflective surfaces that the capture is black and the directional light is the only contribution to the reflection.

I will create a more detailed breakdown with images later tonight.
Thanks for responding.

Hey Team Kingdom,

I have done a bit of research into why you may be coming across this issue and found this page for basic lighting on Mobile Devices: Performance Guidelines for Mobile Devices | Unreal Engine Documentation

Under the Basic Lighting Subsection, there is a line that says, As you are marking all Materials as fully rough, your Materials will not have interesting specular reflections."

Let me know if this helps clear up what you may be seeing.

Thanks!

Hi again Sean, I dug around on the answer hub and I found this snippet on the subject of skylights and Scene captures. It was posted by RCaloca as an answer to someone else’s query.

RCaloca STAFF 8 days ago
We have a known bug in the mobile hdr off rendering path where some features are not working, such as (this) skylight and scene captures. We will try to get this fixed for 4.6, The current workaround is to enable mobile hdr in your project. Sorry for the inconvenience!

You might recognize this as you were also on the thread.
Could this be part of the problem? I have mobile HDR enabled in my project but it still isn’t working and it doesn’t work in the preview (I don’t know if you can enable or disable HDR for the mobile preview?

Here is a link to my other thread about skylights which was being answered by Eric Ketchum.

Hey TeamKingdom,

Thanks again for reporting this issue. I written Bug report UE-4936 and placed it into our database so that it may be addressed in a future release. At this time, I am unsure as to when this may be addressed, but I will be sure to keep you updated.

Thanks and have a great day!

Just for completeness I want to report that environment capture for reflections in working on mobile in 4.7

Glad to hear that the reflections are working as intended for mobile in 4.7. Let me know if you run into a similar error in a later build of UE4.

Thanks and have a great day!

It still seems to be buggy. I tried it with the blank scene with starter content. When I switch to Mobile Preview everything looks fine. When I delete the sphere capture and add my own new one every reflection goes black…
BUT: When I switch to Shader Model 5 Preview, the sphere updates and stays intact even if I switch back to Mobile Preview.

There seems to be a problem with updating in mobile preview mode?

Did you remember to build the lighting? The shader model 5/pc render can give you a screenspace reflection on the fly. You have to build to see the mobile cube reflection. Having said that, it can be tricky to get the cube to refresh its capture sometimes. I can get stuck with the same cube even though I change things around and rebuild lighting.

Hi TeamKingdom,

Have you been able to solve this issue ? I’ve read most of your posts which are mostly 2 years old and you all experienced this issue on UE 4.5 but now it’s UE 4.12.5 and the problem seems occur.

The scene does not contain any skylight because it’s not outdoor. It’s indoor a closed building, there are some dynamic movable lights that give colorful light effects to the area. If you run the scene with selected viewport it’s fine.

But when you switch it to the mobile preview, it’s not so nice. (Similar that you had)

Same results also can be observed in builds. PC build has the same result with image 1, and Android build is the same with image 2.

Are you still having the same problems over the years or did you solve this ? if you did could you tell me the steps ? or some links will do.

Hello,

Due to the age of this post, please create a new post in the Bug Reports section with your information so that we can investigate this in a fresh thread.

Thank you

Hi finwefeanor,
I saw your other post in another mobile lighting thread so I will break it all down right here.

This test is in the default level with a sphere and a cube added. I threw a couple of materials on them from the starter content and made the sphere reflective so you can see the cube capture working.

You must flip your preview rendering level to a P.C. shader model when you bake lighting, I have it set to 5. Lighting will not bake in mobile preview model.
Next make sure that the light you want to cast dynamic shadows is a directional light type.

  • First Shot

Raw lighting setup, Baked in shader model 5. You can see that the reflective sphere (All Black) is only showing the dynamic spec reflection of the shadow casting directional light. Also note the vary black shadows.

  • Second shot

I added a sphere reflection capture actor the scene (default settings) and did a lighting bake in shader model 5. Flip to mobile preview. You can see that the reflective sphere now also has the cube capture showing up. Its pretty dim without a skylight to bump the ambient light but you can adjust the brightness of the capture in the sphere reflection capture settings. Here…

98274-lightingtests_ref_cap_settings.jpg

Bake in shader model 5, flip to mobile preview…

Now you have a nice strong reflection but the shadows are still black. You mentioned that you weren’t using a skylight so an alternative way to add some color into the scenes ambient shadow is to adjust the environment color in the world settings under the lightmass section.

Like this pinkish color I added here.

To be Continued…

I prefer to use skylights in my scenes so I added one to this scene. Make sure that the sky distance threshold setting on the skylight can actually reach the farthest geo you want in your reflection capture. For example the skydome in the default UE4 scene is huuuge so I have to set the skylight to 2 million units to get it all in. Also I uncheck the cast shadows box.

98277-lightingtests_skylightsettings.jpg

Now that there is a real source of indirect light in the scene I can turn down the brightness of my sphere reflection capture. I had it set to 10 but I set it back to default 1. Bake in shader model 5, flip to mobile preview…

The shadows have a nice fill to them and the reflective sphere looks nice and shiny.
You commented that you have moveable colored lights in your scene, I added a couple of moveable colored point lights that move back and forth. No shadow casting. Bake on shader model 5, blah de blah, repeat the mantra… Really most of my lighting fails come from forgetting to do this.

And here is a screen grab from the scene running on an ipad.

Hope this helped you.
TeamKingdom.

Continuing from the previous answer… (This is the second time I am posting this, the first one seems to have vanished.)

I use skylights in most of my scenes. When adding a skylight make sure to set the Sky distance threshold to bound your level geometry. For example the skydome from the default level in ue4 is huge. I had to set the distance to 2 million units to get it all into the capture. I also toggle the cast shadows on the skylight off.

98277-lightingtests_skylightsettings.jpg

With a real source of indirect lighting in the scene I can reset the Environment Color in the world settings to black and also reset the brightness settings on the sphere reflection capture to the default “1”. Bake in shader model 5 and then flip to mobile preview.

Now there is a nice fill in the shadows and the reflective sphere looks good.
You had colored lights in your scene so I added a couple of moveable spots to my scene (No shadow casting), they just move back and forth. Bake on shader model 5, flip back to mobile preview.

All looks good. And lastly this is it running on an ipad.

Hope this helps you out,
TeamKingdom.

i had this problem and solved it by deleting the “Lightmass Importance Volume” in levels and add another one. and build lighting in “shader model 5”. then i switched to “mobile / HTML5” and packaged the project for ios.

Thanks for informations ))