x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Mobile Reflection Capture Actor Set to Specified Cubemap not working.

I am trying to get good reflections and lighting on movable actors on a mobile device. I want to use a Spherical Reflection Capture Actor set to Use Specified Cubemap to light my actors. Currently I can not get this to work unless I place some proxy geometry in the scene and bake lighting.

-Create a new map and select the Empty Level preset.

-Place a mesh actor in the level and set its Mobility to "Movable"

-Place a Spherical Reflection Capture actor next to the mesh.

-Set the Reflection Source Type to Specified Cubemap and plug in a custom cubemap.

Results: The actor does not receive any lighting from the Reflection Capture Actor.

alt text

If you now create some simple geometry around the dynamic actor and bake lighting the Mesh will now be lit by the Spherical Reflection Capture actor.

alt text

Here is the Cubemap I am using.

alt text

I have a feeling I am not using this feature as intended. Basically I am making a mobile game with limited or no static geometry in my scene. I would like to have a high detail cubemap that makes it appear that there is more geometry there then there really is.

Thanks in advance,

-Matt

Product Version: UE 4.12
Tags:
1_no_lighting.jpg (120.1 kB)
2_cubemap.jpg (132.4 kB)
more ▼

asked Aug 09 '16 at 06:23 PM in Rendering

avatar image

Matt.Salladay
5 4 5 7

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Hi Matt,

Reflection Captures use the indirect lighting cache samples placed to get their brightness for the cubemap. This is why you're seeing them working in the one with geometry because there is baked bounce light.

In the example below I have enabled the visualization of the Volume Light Samples (indirect lighting cache) and as I move the sphere away from and bake close to the floor with the samples it is lit and unlit.

alt text

If you need this you will want to consider setting this up in your material and potentially changing dynamically with material parameter collections via blueprints if you need to change out the reflection as means to fake it.

I hope this helps.

Tim

cubemap.gif (2.7 MB)
more ▼

answered Aug 11 '16 at 03:48 PM

avatar image

Tim Hobson ♦♦ STAFF
48.7k 888 103 880

avatar image Matt.Salladay Aug 11 '16 at 06:00 PM

Hey Tim,

Thank you for getting back to me. I read up on the indirect lighting cache and this makes a lot of sense. My question to you is this. Is there any way I can choose which level the cache is stored in? Right now I believe it is stored in any level that has static geometry in it. This makes complete sense, but in my situation I have one .umap which I am using to generate my cubemaps that is not loaded at run time and a separate map for my dynamic objects that is loaded at run time. I was hoping to use the lighting data from the first .umap, the one not loaded, in my dynamic objects map.

Anywho thank you for getting back to me and thanks for the gif!

-Matt

avatar image Tim Hobson ♦♦ STAFF Aug 11 '16 at 06:50 PM

Since the placed samples are all precomputed they are stored for the map they were baked in.

You can set the actor in the other level to be hidden in game when you build the lighting that way it's visible in the editor if needed to get the samples, but not in the game.

With lightmass too, samples are placed only at two spots above any surface. sample 1 at 50 cm above a surface and the next at 250 cm above a surface. This can be edited in the BaseLightmass.ini file in the engine/config.

Look for the section [DevOptions.PrecomputedDynamicObjectLighting] and adjust the values for:

  • FirstSurfaceSampleLayerHeight=50

  • SurfaceSampleLayerHeightSpacing=250

  • NumSurfaceSampleLayers=2

The Surface Sample Layers allows you specify how many samples are placed above a surface. With 2 you only get the ones at the 50 cm and the 250 cm. You may need additional ones depending on the needs here.


On a side note about 4.12, using the option for Actor Hidden in Game will not bake any bounce light. This only affects 4.12 and the 4.13 Preview 1 release. It was fixed yesterday and will be completely fixed in 4.13. So if you need to test this, I would build the lighting first and then on the actor set the Actor Hidden in Game setting so that it gets that bounce light sample first.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question