Creating a massive point-light, has anyone tackled the issues with this?

We’re currently working on getting a space sim prototype up and running, and we’re now trying to troubleshoot the issue of getting our system’s lighting setup.

Our scale for ships is 1:1, our prototype ship is a small fighter about 20m long, and the ship travels at roughly 160kph (slow for a space ship but we wanted to keep scale down for gameplay purposes).

A directional light only works well to light a static scene, but you are able to fly to different areas around the solar system,and these different clusters of objects range from 8k to 15k Unreal Units away from the sun.

Point lights even with extreme values do not carry any light data to the outlying objects in the scene, and a directional light is inappropriate for this use as it is not a single-directional light environment.

Just a note about the scaling; be careful if you’re using PhysX with small-scale models. You might find them going pretty crazy as the size of the objects is used to calculate it’s mass for the physics simulation. It could potentially have adverse effects elsewhere as well, but none that I can think of right now. Probably fine :slight_smile:

Directional Lights can be used (along with skylights) to just create ‘ambient’ lighting. As you’re doing a space sim, you might consider using Light Propagation Volumes (There’s a thread around here about turning them on) to get better ambient light, but depends what target platform you’re aiming for. Also Epic are doing some work on LPV’s at the moment with Lionhead Studios I believe to make them better. What you can also do here, is make your materials emissive channel contribute to the lighting, though there’s not much control behind it, and it doesn’t bake into static lighting.

To be honest, you probably don’t want too many pointlights all lighting objects in the scene. The maximum is four overlapping stationary lights in the first place, but they may just be getting culled elsewhere.

You could also try disabling Inverse-Square Falloff in the light properties to increase it’s range, but you’ll suffer with incorrect lighting. Lights are if I’m not mistaken, based on real-world calculations to determine how far they stretch out. If there’s a harsh noticeable point where the light stops affecting an object however, it’s probably being culled in the engine somewhere. Have you got a screen shot of this in action?

Enig, have you tried disabling exponential light falloff? You may have to expand the light properties a bit to see that option. Then the radius and exponent values should be literal and you can get as much light as you need. You might have quality issues with dynamic shadows in that situation however. Pointlights are not really intended to work as a sunlight for a huge scene, directional lights were created to solve many of the problems you will get by doing that. What I would probably do is use a directional light but use the level blueprint to rotate the directional light according to the player’s orientation around the sun. If you actually need planets or objects to render with the correct light angle that are far enough away from you to get a different light direction, you’d have to do some shader tweaks.

Thankfully, round objects like planets will usually look good without casting shadows just using an NdotL lighting term.

I have a suspicion that the shadowing might be causing issues. If you have a large scene with a single massive point light shadows, I get a feeling that could potentially be expensive. Would be good if a UE4 rendering engineer could comment on that!