Lightmaps completely broken - I hate lightmaps!

OMG I hate light maps. They don’t make any sense!
So I’ve got a fairly high poly brick wall mesh that I’ve made. I’ve unwrapped it for both the texture and the lightmaps using 3ds Max and exported/imported to the engine. I read the entire documentation on creating lightmaps (Unwrapping UVs for Lightmaps | Unreal Engine Documentation) as well as watched video tutorials on how to do it and yet for whatever reason my results are terrible.

Here’s a screenshot showing the model in the model viewer along with the lightmap UVs and what it looks like when two are placed side by side in game and rendered with production lighting:

As well as a closer look at the lightmap uvs:

To explain my thoughts on the unwrap, each brick is a cube so I unwrapped them as contiguously as I could (they only have seams where absolutely necessary) and the grout inbetween the bricks are two large planes for the front and back and a few small ones for the end caps on the sides of the wall.

I don’t understand what I’m doing wrong!

Ok, I’m even more confused now. According to the documentation “contiguous lightmap UVs … eradicate seams and promote efficient lightmaps”. As you can see in my above unwrap, it’s as contiguous as possible considering the bricks are individually modeled. Each brick is a single island or UV chart. The end result not only has a seam but has whatever the heck is going on there with the shading. I just decided to see what happens if I make a completely NON-Contiguous unwrap for the lightmap channel and:

Perfectly seamless. Inefficient as hell, but seamless. Freaking hate this method. Can we have an alternative added into a future engine update please? I’d prefer crappy vertex lighting to this.

Your unwrap looks good. Did you make sure to set the lightmap channel in the static mesh to the correct number?
Just enter “index” into the static mesh editor search bar to search for “Lightmap Coordinate Index”- Set the number to 1 as your channel0 is your texture and 1 your lightmap channel. Just guessing. I am referencing your first post.

Yes, absolutely.This is what is driving me insane. I’ve NEVER been able to get a properly working lightmap into the engine ever since UDK. I’m somehow lightmap retarded. I give up, I’ll just export out the entire lightmap per-poly and take the performance hit. I don’t have the time to figure out why the heck they never work.

Or you could just share the asset here and let someone check it out :smiley: I am still refering to the original asset but you could provide both :smiley:
Lightmaps are unfortunately still the best way to achieve static nice lighting and there is hardly away around them. :wink: Maybe in 5 years, this will be different.

Well, I deleted the fbx after I just decided to go with a per-poly unwrap for the lightmaps. Faster and less irritating and it works for whatever reason. That said, this SHOULD be the right uasset as I tested it out in another project just to see if there was something wrong with my first one.

Download

Funny that uasset files aren’t permitted. I zipped it.

I was expecting a fbx-file anyway :smiley: Just because I dont even know what Engine Version you are using :wink:

Checked the asset you provided and it is setup correctly and bakes fine. Where is the problem with that asset? Concerning your original unwrap. If you unwrap one of your bricks as if you where unfolding it, you will get artifacts anyway. The rule of thumb is to have a border in your unwrap whereevery you got a hard edge on your mesh. For your brick mesh, this means you nearly need to have all your faces separate to get a perfect bake without artifacts. As for why you got this repeating pattern on your original asset, i cannot tell.

Thanks for trying to help. Yeah the problem is the first pic, left side. It looks like crap when I bake lighting. And there’s a seam too when you place two of the meshes side by side. Anyway like I said, for now I’ll just use my mentioned work around cause I can’t be arsed to spend any more time on this but I’ve never been able to get a lightmap to work properly… they always have seams or shading issues like in the first screen. They just don’t make sense to me when compared to a normal UV. For whatever reason I can’t wrap my head around the concept.

And as for the earlier comment of lightmaps are the best way to achieve static lighting, what about vertex lighting? And what do they do in Cry engine and Unity as neither of those engines use lightmaps and they both look awesome in terms of lighting solutions.

Well, you would have to further Detail all your meshes to get a nice lighting. Unity can and uses light map baking too. CryEngine does not but well, it has other flaws, lol. And It all depens on your game etc. You could go with a dynamic solution like Distance Field etc. if you are fine with this approach and its drawbacks

It would just be nice if the engine offered other solutions. The dynamic lighting functionality is almost entirely useless due to the performance impact and static lighting is frustrating as all get out (for me at least. I’m sure I’m not the only one). Anyway, thanks for the help!