Import baked lightmap into Unreal Engine

Please tell me that it is possible ! I have looked everywhere and i cannot find a positive answer.
Is it really not possible to use pre-baked lightmaps in Unreal Engine ?
I have tried to load the lightmap texture in the Emissive Color slot but it overrides the Base color completely.

You can’t, the engine doesn’t support that, and also for best results you wouldn’t be able to use it anyways–reason being, you can import the shadows but you can’t bake directional maps which are also required. Plus, you need to have the actual light in the scene so that the dynamic shadows will match up with the static shadows.

While i understand the problems that might come up by using pre-baked lightmaps, that is not really the issue.
I work in mobile game industry for many years and i know plenty of fixes and workarounds to the problems you mentioned.
Most other engines support this and it is a pretty cheap way to “cheat” some nice lighting which you can fully preview in your
3D creation suite (Maya, 3dsMax) with small, quick renders.
I’m sure that some will not agree with my point of view but the bottom line is that a really basic feature is missing
on what i felt to be an otherwise next to perfect engine.

Here’s a guy who did something like that but with Blender’s cycle to generate his lightmaps. Imo it doesn’t look that great but maybe for mobile it would be okay.

This is Rafareis123 doing vray lighting baked for Unity! back in 2011!

Maybe send him a PM about his workflow and how it’s doable! GL

Well about Unity and probably any other engine, is just a simple thing to load a baked lightmap and you are done. I can’t for the life of me figure out why unreal chose to not include such a feature.
It’s like having a LEGO set without a particular piece just because “the houses you’d build would look bad”. Give me the tools and i’ll see what i can do, don’t just assume that it’s not going to work.

Because there is lightmass. That is why being able to load an external lightmap into engine hasn’t been a priority.

Pluggin custom ligthmap to emissive channel is way to go. There isn’t anything wrong with that. If that " completely" overrides your base color then you have to tune the intensity until it’s right. How does it look if you just multiply ligthmap with 0.1 before outputting it to emissive.

Edit: Depending on format you may have to multiply light with your base color too.

It’s not an efficient workflow imo tho. You would need a new material instance for each mesh, and adjust the diffuse color in each mesh? meh.

Lightmass is capable of doing very good lighting, we have proof of that by now with all the amazing projects that we are seeing!!!

Yeah I would’t never use it like that but there isn’t anything to prevent from it working.

If you want to use external lightmaps, you can do it but as Jenny Gore mentioned it will require a bit of manual setup.

I would recommend multiplying the lightmap with your ‘basecolor’ texture and hooking that up to emissive. You could try setting basecolor to 0 but still using a few real lights to get some actual specular in the scene.

you could take it one step further and add a “Custom Output” material node and use that as a place to pass your custom lightmap into the deferred renderer. Then it would only be a matter of changing one line inside of the reflectionenvironmentcomputeshader in order to have custom lightmaps shadowing the reflection captures. So then you can place reflection captures in the scene and get nice pre-baked AO for the reflections.

I’m fairly sure it can be done. Read “other lightmap” texture using second set of uvs, multiply with base color calculated using 1st set of uvs. Then either feed result into emissive channel or look for a way to replace default lightmap lighting, and you get baked lightmaps, although they won’t support any kind of precomputed shadows on dynamic chars.

For dynamic shadows created in external source, you’ll need to do some hacking in C++ code or just see where lightmass stores shadows and in which format.

Multiply lightmap color with base color before feeding it into emissive output, and it will work.