Download

Is static lighting supposed to look this dull?

Hi, I’m creating a virtual reality scene of a room with computers. The problem is that I want to use this room with oculus rift and that requires a high framerate. I have got quite a decent setup with GTX 970, 32gb of ram and i7-4790. But if I leave any of lights as stationary, the framerate goes down noticeably (it should stick to about 75). That’s why I started looking into baking the lights. It was quite a struggle to get the UV channels not to overlap, but it seems to be working properly now. I’m just not satisfied with the end result.

This is the result with stationary lighting and a low framerate:


It looks decent and the lighting reflections move at different angles. If I move close, there are also moving shadows of the lattice on the computers.

This is the result with static lights after lighting build (only the first rack on the right has proper UV mapping, also changed the computers inside it to white to demonstrate that there are no shadows of the lattice at all):
c8c239db80db2ca5b0707826ad01283a208e8590.jpeg

As you can see, not only is it dark, it looks very boring, as if it were in the unlit mode. There is no lighting reflection, just some spots that are a little bit lighter.
Isn’t it possible to get better results with baked lights?
Am I doing something fundamentally wrong?
Is there a way I could keep some of the lights stationary/moveable, but don’t lose much performance?

Do you use a Lightmass importance volume?
Normally, performance should be higher with static lighting than with dynamic…

I like to do a test bake with gray materials to get a better look at what the lighting is doing, it definitely shouldn’t be that dark. What do you materials look like? Make sure you aren’t using pure black for the base color.

I tried the lightmass importance volume now that you mentioned it, but the result was even darker, am I supposed to include the whole room in it?
The performance is higher with static lighting, it just looks bad.
I can force it to look lighter with reflection capture:


It looks a bit better, but why is it grey? Also still no shadows from the lattice.

The lattice is too small to cast shadows unless you use a super high resolution light map. The importance volume should take up the entire “playable” area, or anywhere the camera will be directly, if you had like far off mountains you’ll never be close to, you don’t need that in the light mass importance volume. Lighten up the base color texture more.

I’m getting some improvement just by increasing texture brightness and choosing lighter color, it sort of looks like this now:

but it tends to reflect more the LED lights, not the lights from the ceiling. The LED-s are movable spheres and will not be baked because they’re blinking. Is that the reason for that?
As for the lightmass importance volume, no matter what I do, it gets me weird creepy and dark results, I’ll look into how to use it properly later.
So far it seems that there’s potential of making it look good with static lighting, thank you guys for giving quick replies.

You are using actual lights for the LEDs? How many lights are you using? I would just have random blinking done through the material.

Indeed. Then the reflective behavior can easily be controlled with the GIReplace node for the static lighting…

The LED-s are spheres with a blinking emissive material

I think there is a way to get dynamic shadows from stuff like masked materials. This is the way to do it if you want good shadows: you can’t bake that thin lattice onto a texture and expect it to be any more than a fuzz.

I think you should play around with reflection captures and ambient cubemaps some more. This will provide you the necessary reflections for lighting everything. Also, it is possible that your material colors are too dark or too light, but I’m going to bet that your lighting is not well balanced with the reflection environment/ambient cubemap. That can give you a lot of trouble there. It takes time to balance this stuff.

A few things I would recommend:

  • Add A Skylight if you haven’t already.
  • Make sure you have a LightmassImportanceVolume encompassing the level.
  • The LED lights are tiny, so you’re very unlikely to get any lighting from them based on the lighting probes that Lightmass creates. You could try adjusting the LightmassSettings.ini file to dramatically increase the number of samples, but that has the potential to make your build times pretty huge.
  • Try to create a HDRI lighting map, that will add a lot (use it with the Skylight).
  • ADD REFLECTION PROBES. A huge part of the reason it looks so dull and flat is because you have no reflections in there at all. Drop some reflection spheres in the level and place them around.
  • Do you have normal maps and/or any PBR maps at all? All of those materials look like very basic flat colour maps only atm.
  • To get the effect of the grills shadowing the PC’s, you’ll have to have a very high lightmap size on the front of the PC’s, otherwise there simply won’t be enough pixel density on them to cover it. I suggest making the front-faces of the PC’s have a very dominant lightmap size, while giving the rest very little. Lightmaps don’t necessarily have to follow the same rules as textures when it comes to density. Increase pixel density where you want detail.
  • To add soft static lighting from the LED’s, I would just drop in a few extra point-lights to add small amounts of ambient light. Once they’re baked, they’re free, so you may as well :slight_smile:

I would also scrap the idea of the LED’s being separate spheres. You could easily bake the blinking into the same material using a mask and with a tiny bit of normal map data they’d still appear to ‘pop out’. That will certainly improve your framerate too.

I assume the light positions dont change dynamically…
In this special use case, I would even go back to the old day methods and bake an overlay of the grill into the diffuse of the cover texture behind it.
Then you could have even super crisp shadows at no cost at all.

Some good advice here about lightmaps. I’d thought I’d chime in with an observation. Another reason the static lighting looks a bit flat is the lack of specular reflection from light sources. Stationary lights and dynamic give you that shiny glint you can see in the first picture, and static lighting can only give you specular from reflection captures.

With a 970 you should be able to afford some stationary lights. How many were you trying to use?

I helped someone else with Oculus render settings and maybe you could try some out.