Reflections and Lighting Questions

Ahoy all!

I am making a procedural level, and I am wondering if anyone has been able to ‘bake’ the lighting during loading after the level has been procedurally generated. I know I can use dynamic lights, but I am looking for performance bumps everywhere I can get it.

Second, I am attempting to get real time reflections off of mirrors and liquid surfaces. Is there a way to do this on spawned assets? I would imagine it would be a material setting, but I cannot seem to find it.

Finally, I am trying to create a model/mesh that is not visible directly, but still creates reflections in mirror like surfaces. To get that ‘ghost in the mirror’ but not in the room effect. I know I could have an invisible model that casts a shadow… and that could be spooky also, but something you can only see in the mirrors is what I am attempting to accomplish.

Thanks for your ideas in advance!


I can answer the lighting question.

Sadly you can not bake lighting once you’ve “shipped” or “baked” you game. Because the engine does not simply “build shadows” it uses a separate program to actually simulate the scattering of light of individual light rays. The program can not be “Shipped” with your Unreal Engine Game. Lastly, your build/load times would be absurd.

But to increase your performance, especially in a procedural map, create custom LODs. I’d recommend at least 3 separate LOD meshes.

When using movable lights, use as little as possible while still maintaining the look you want, There are also many settings that lower the quality of the light.
However, some fare warning, it is very “opaque”. meaning you’re going to have vary black shadows. I recommend studying Light theory (or just look around your house for examples) to get the lighting right.

Sadly I can not answer your other questions.
All I know is that real time reflections do have tutorials on them somewhere.

Here is a simple example of a good light set up for a simple light scone.

You can mess around with the settings and LODs to get the look you want.

You can’t do reflections of things that aren’t visible, and currently you can’t quite do mirror like reflections, the only option for that is screen space reflection which can’t reflect anything that’s not currently rendered which something in a mirror would only be partly visible.

@ovrcookedfunion Thanks for the reply and the information. I do have to ask what you mean about LODs. I understand that LODs help especially in open areas and at various distances to reduce video burden. However, my levels are mainly 6 meter rooms, which will likely have 1-4 light sources in each. With several of the rooms connected and the player standing in just the right place they are going to see a max of maybe twelve active dynamic lights in the space of 18 meters. Sorry if I am dense, but what sort of LOD work would improve that?

Also, extreme thanks for the extra effort you went to providing screen shots and examples, those are good help of course. What I seem to be getting from your suggestion is to light the scene like old school 3D animations, where invisible ‘lights’ are added in extra locations to mimic reflected lighting. That would result in more light sources than first predicted. At what point do you think dynamic lights sources start having noticable performance issues? Could we have twenty or so dynamic lights in one 6 meter room without serious drops in FPS, or am I off my rocker here?

@darthviper107 That is what I feared, though are you sure mirrored surfaces are not really possible in UE4? I mean it is a super powerful engine with outstanding material handling. It cannot render/simulate proper reflection surfaces? Not even on water? Thanks for the feedback of course.

In UE3 you would use a 2D capture actor to make accurate dynamic reflections for floors and mirrors, that’s not available yet in UE4 there’s just a capture actor that acts like you would use a security footage type thing, some people have used that to get close to an accurate mirror type effect, but it’s not quite there.

Reflections are always a complicated issue, because it’s currently not possible to do them accurately in real-time, so engines use tricks, like prerendered reflection probes which aren’t accurate but look good, or screen space effects which are fairly accurate but don’t work with surfaces that aren’t rendered, or the capture actors which only work on flat surfaces.

Thanks again darthviper107.

The capture actors are similar to what Arma 3 uses for it’s real time mirrors I suppose. The main sources of reflections in our levels are mirrors both small and large, and water surfaces that are placid. From what I understand is that the Engine recently received a feature to allow semi-accurate reflections from water surfaces. That should be sufficient for our water anyways.

On the other hand, capture assets like a ‘camera’ that projects what it sees onto a flat surface could work for our mirrors. This is what I am assuming you are talking about.

I don’t suppose there is a way to flag actors as ‘visible’ or ‘invisible’ to a camera to work around the limits of the engine?

The update adds screen space reflection to transparent shaders.

For mirrors, I don’t know where the thread is, but someone constructed a material to use the capture actor that’s currently available to try and fake the 2D capture that would normally be used for mirrors, it’s not perfect but it’s better than nothing, it’s in a thread here somewhere if you search for mirror.