My work in progress is large scale - the players pawn is for reference around 15 meters long. I’ve had all sorts of issues with scale and UE4, and the most recent is lighting. I am modeling my placeholder assets in meters in Maya and then doing a scale conversion on export to UU, so they’re *100.
One of the “tiles” of the procedural level generation is 500mx500mx200m.
Lighting this with point lights that are restricted to a max radius of 16384 (160m) is not super useful. Especially considering even with cranking up the intensity to the max (100000), it’s still pretty dark in that radius. And yes, I can turn off the inverse squared falloff, but then the lights get crazy.
So, first question: Why is there no simple way to tell the engine what scale I am working in? 16384 might be a useful number when your character is 200 units tall, but it’s nearly useless at large scale.
Second: How should I approach lighting this space? Point and spot lights are basically useless at this scale as far as I can tell. That leaves me directional lights and maybe GI if I turn that on. What I want to it be like is pretty dark, but with areas that are lit up by spotlights and other placed dynamic lighting. At this scale, even getting headlights to work on the players vehicle is very difficult.
Note: I have tried a few ways earlier in development to get around these scale issues. My first was to simply say that 1UU = 1m. That doesn’t work, as then lots of things are too small and they’re very hard to edit in the editor. For instance, try to make a projectile that’s 0.1UU, and you’ll see what happens.
Scaled my assets to 10cm=1UU in Maya and reimported. Lights seem usable at this scale. However, I run into yet another scale-related UE4 bug (which I’ve previously reported and had acknowledged on Answerhub) - Changing the scale of an object and then reimporting it causes the physics asset to refuse to be generated at the proper size - even with an entirely new object. It’s a fun one.
So, I either have to redo my placeholder assets (again), or find the bug in the FBX import pipeline. However, the FBX library doesn’t come with source in my engine, so now I have to find it. Yay.