I need help with lighting

I am having a massive amount of problems getting my scene lit correctly. Oddly, I"m trying it in Unreal because I don’t like all the problems Unity has with Enlighten. So far, Unity is vastly superior to UE4 though, and I’m sure it’s just because I’m doing something wrong.

The scene in the attached images looks fine in Unity, using the same FBX files. But in Unreal, you can see that the lighting on the door is all jacked up, there are weird light artifacts along the bottom of the wall where the trim meets. And, worst of all, this is a completely enclosed room with no lights. It should be dark.

There were some errors on importing the fbx files due to bad tangents and no smoothing groups, but I’ve fixed all of those. I’ve tried turning the environment light down to 0 to make the room dark, but that didn’t work. And it isn’t a solution anyhow because some of the rooms have windows, so I need the environment light. All of the objects cast shadows, and as I was assembling my room, I could see the shadows being cast, so I know they work.

Is there some setting I’m missing somewhere to make the room dark? And how on Earth do I get rid of all those ugly lighting artifacts on the door and wall bottom? I’m letting Unreal generate the lightmap UVs, if that makes a difference.

Update: To further test things I created a cage around my room using the default cube mesh that comes in the scene. That still didn’t fix the problem, so I created 6 of them and made good and sure that they were all overlapping so no light could possibly get into the scene and rebuilt the lighting. That didn’t work, so I created a new map and duplicated the floor that comes with it to make a similar fully enclosed area. That doesn’t work either. For some reason the site gives me a ‘no such upload’ error when I try to upload the screenshot showing the outside of the cube assembly, but it’s basically just 6 cubes all overlapping, so I don’t guess a screenshot is really necessary.

Hi, first look at the FBX importing section of the documentation and also look at light map UV’s section, although they are subjects we all know about, UE4 has its own workflow for them.

Unity’s stated best practice is to build LM UV’s in engine, with UE4 best practice is to make LM UV’s in the source 3d application so you may need to make a specific UV channel for your lightmaps.

If that doesn’t answer your question then check that your lightmap UV’s are being used by the lightmaps by editing your mesh in the content browser and checking the meshes parameters. Also if you change UV channels then re-import a mesh it won’t automatically know which channel you want the lightmaps to get UV’s from.

Another check is to see what the pixel resolution of your lightmaps are on each object, this is also in the mesh parameters. You can check your lightmap resolution in the 3d view using the drop menu in the top left of the level 3d view which says “Lit” by changing it to say “lightmap density”.

Generally UE4 differs from Unity in how it appears to use imported assets. Where Unity uses assets as exported in a raw form UE4 adds a lot of options to each asset so you have more control in-editor. I found this to be a mind set difference I had to get when crossing from one to the other.

Can you expand on what you’ve done with regards your scene being lit when you expect it to be dark please as I can’t see how you’ve got to the situation you are in. It may be worth making a fresh project and going through this process in as few steps as possible so it’s easily repeatable as a problem. Especially if you’re like me and fiddle endlessly with settings then forget how to get back to where you were :slight_smile:

I’ll check the lightmap density. The lightmaps are set to use UV1 for all meshes, and the generated UVs look similar to what Blender would do. I have too many models in this scene to go in and manually redo UVs for all of then, so I may have to skip Unreal for this game if that is a requirement. For some reason, reexporting the door FBX fixed the issue there. But the door is supposed to be moveable, and when I set it to be it just becomes pure white. Even with moveable orange point lights in the scene the door is pure white. A search for making static meshes and moveable meshes match lighting only turned up a bunch of posts saying it isn’t possible. In Unity, you just add a light probe group and Bob’s your uncle. It isn’t perfect, but for my moveable door to not even match the color of moveable point lights in Unreal is unacceptable.

For the scene, I just created a new level, the one with the sky already in it. I then deleted the default floor thing and imported the meshes. They are simple cubes mostly, except for the wall with the door in it. There hasn’t been any tweaking yet. Turning off automatic eye adaption seems to help a little, but it still doesn’t go pitch dark like it should. At least the door seems to have some shading to it then, instead of just being a nearly pure white blob.

Hi, so taking your points one at a time:

So long as you have LM UV’s on objects and the UE4 parameters state that they are the UV’s being used, you’re good on that issue. I agree redoing LM’s is a real drag.

Check that the FBX export settings are set to the 2014 version as the wrong version can cause surface issues.

As your meshes are too highly lit its likely to be either scale, lights or materials so try to do some comparison with some standard assets. To do this, in the content browser go to Add New > Add Feature or Content Pack… and find the starter content. It will load a bunch of stuff which is easily deleted when you’re done with it. If you setup your project for mobile or desktop quality settings load the correct pack, either mobile or desktop. To check your quality settings look in Settings > Project Settings > Target Hardware.

What I suggest you do is add a chair to check your imported scale is correct (ie: the chair isn’t huge compared to your scene), bring in some of the pieces in the Architecture or Shapes folders and compare how they look with your own items and lastly drop some of the materials on your objects to see if that helps. What I suspect is happening is that you have only an imported temporary material on your meshes and the default bright white of them is messing with the eye adaption/HDR bleaching everything out.

UE4 can match static and dynamic lighting and easily, I’ve shipped commercial products with Unity, UE4 and a few other engines and in my experience Unreal lighting and rendering gets better looking results faster than any other game engine I’ve used. I’d recommend sticking with it, it’s worth the learning curve :slight_smile:

Blender doesn’t have an option for 2014 version of FBX, it only has 7.4 Binary and 6.something ASCII. But the door seems to have fixed itself, so I guess that isn’t really an issue.

Putting the chair in there seems fine, scale wise. But it did provide maybe a hint about what is going wrong with the lights. Those white artifacts appear to be some sort of light bloom, because the chair is surrounded by the same thing. I put materials on everything in the scene, but most of them didn’t help. They were all grey, presumably because there is no light in the room? But if there is no light in the room, I shouldn’t be able to see and there should be no bloom from it. I can’t make sense of light blooming, but not coloring anything. I’m making a horror game, and although the lights will be on most of the time, darkness is pretty essential to the mechanic. There has to be a way to get it darker than this. Unity goes pitch black with the same scene when the lights are out.

Oddly, putting a gold material on the floor actually caused the gold color to show up, and the haloing around the chair and trim went away. I haven’t put my actual textures in yet because I authored them all in Spec/Gloss instead of Metal/Roughness, so I need to re-author them all. I don’t want to do that until some sort of basic test is complete and functioning.

Adding a material to the door did minimize that white glow it had. Though I haven’t tried adding a point like back in to see if it takes the color of it or not as it is way past my bed time and I just wanted to quickly try the things you mentioned.

I don’t want to give up on Unreal, because I really like that I can make tube shaped point lights. And I’m hoping it handles HDR better than Unity. But I can get anything functioning well enough to say whether it will look better than Unity or not.

If you can’t use the correct fbx version you may find that obj’s removes “import doubt” from your workflow, especially as you’re doing your materials separately.

I presume you’ve done a build to generate lightmaps. If not your problem may be that the skylight in the scene makes some simple assumptions on the general condition of the lighting until it is built, in effect brightening the scene so its not pitch black.

If this is a post lightmap build problem then you may be getting lightmap bleed problems, in which case I suggest you hit the forums to get some help there as its a common issue. Basically Unreal likes stuff to be built out of block objects with some proper thickness so if you had a simple plane and made a room from 6 planes your lighting would be poor due to light bleeding through the edges, this is a symptom of lightmaps being lower resolution than the screen unlike a traditional render. If you made the same room from a 6 slab-like boxes your lighting would be artifact free and look great.

Also have a look at the lightmap resolution of the meshes as by default the are pretty low and hand tuning will get you good results.

Light effected gameplay, which it sounds like you’re after needs pretty sophisticated lighting so I suggest you also look at “post effects” and the differences between lightmaps and distance fields.

I think for any more help I’d need to have look at your assets so if you’re still having problems pop them up somewhere and post the link.

I may have to put a sample project together to show you. I’ve updated with a new screenshot. That is six of the default cubes all scaled and assembled into a fully enclosed area. All of the cubes overlap completely, so no light should be getting in. I rebuilt the lighting, and added a lightmass volume around the whole thing, though I don’t know if that last part is necessary. But as you can see, it still has light. They have a material, so I don’t think that is the issue. Even a fresh scene with just those cubes and that material causes the same issue.

The material you can see at the bottom of my room is grass. If there were any light whatsoever in the area, it would be green. There’s evidence of no light, yet there is light. I’m really beginning to think that Unreal is short for Unrealistic. Which is a shame, because other than this problem, it looks like it might do a better job that Unity.

just upload your fbx models for now and I’ll give them a look.