Lightmaping improvements?

I’ve been thinking if there is any chance in the future to bake more lightmaps for a single mesh? As it is right now it’s hard to bake even a single room without spliting it to small pieces, which is very time consuming and frustrating.
Would be lovely if we could set more lightmaps, for example one for every uv set (in uv space 0-1, 1-2, 2-3, etc.). Or use vertex color to define lightmap id? Or use polygon id (they are in 3ds max, blender and zbrush, don’t know about maya…)? Or just simply one for each material?
Also, any slight chance for progressive rendering?
Thanks in regards. Happy Easter.

The amount of work it would take to implement those alternatives on a mesh would be the same as splitting the mesh. It would also impact performance to do it that way, the objects would need to be split out to additional draw calls.

Draw calls are there anyway if you have many many separated meshes. I’m talking about the amount of work needed in 3d package. Splinting the room to separated walls and floor parts is ridiculous, very time consuming. I can’t rise the lightmap resolution. One 4096 lightmap renders much longer than 10x1024, which is strange to me too.

All of the alternatives you have there would take as much time as splitting a mesh because you’d have to define the separate areas and then redo the UV’s so that those separate sections optimize the UV space.

I think you are wrong, there are several setting you have to set for each mesh, like collision, lods and their screen percentage, lighmap UV channel and size, mesh distance field, materials. So there is a ton of work in UE4 for each mesh. When you add more work in 3d package it’s getting quite a heavy job.
I don’t want to bring the argument of importing meshes here, since there is a lot of things that should be improved… so let’s stay on topic of the lightmaps.

It’s the same topic buddy, if you want to have lightmaps for separate materials for example you would have to apply the material to those polygons (taking the same amount of work as splitting a mesh) and then you’d have to go back in to the UV’s and separate the polygons by materials the and repack the UV’s so that each set of polygons would optimize the UV space, otherwise you’d get the same lighting result.

I just wish i could throw a single mesh there. This is very easy to create polygroups and separated UV sets, but it’s very time consuming to split it all apart and set every single piece (UCX sets and all the settings in UE4 for every single mesh part).
Looks like I have to go with images, just look carefully and just think how much work it requires from my perspective. It’s like literally importing one model four times, just because i cannot split lightmaps:

All it would require instead (see the image below), only one UCX set, and only once to set the whole things in the static mesh, just imagine how much less work:

PolygonID.jpg

Now, this is a simple example, but imagine if I have an entire building to bring in. If I really have to split things apart for the sake of performance, I would stay at least with separated rooms and not single walls. I realize it’s obviously better to cull out the smaller elements the better and ditch it from video memory, but still, this is madness!

Splitting takes the same amount of effort as doing that, I don’t know why you’re thinking it’s going to take so much more work.

Why are you so against it? It IS much more work, you don’t want to listen, that’s all.
Unity is already doing that without any problems and works like a charm! So why UE4 can’t?
I don’t want to argue with you, I just want to give an idea, since this is problematic for the arch viz artists, for who the lighmapping is one of the most important features.
And what about smoothing groups and visible seams on lightmaps then? This IS a problem on bigger surfaces!

And what part of: “It’s like literally importing one model four times, just because i cannot split lightmaps” you didn’t understand? I’m doing separated UV’s for EACH ELEMENT ANYWAY! So creating polygon IDs is taking few seconds more.

Another example where amount of meshes to get good lighting results is beyond ridiculous:

Example2b.jpg

And here the problem with smoothing groups comes in:

SmartPolygon is right… If you want to just build few walls in one mesh, splitting uv to separated sets is literally 2 clicks. You would just bring that to UE4 in one go. Instead of splitting it to parts to make it look somewhat ok. Building huge lightmaps per mesh is almost impossible and still you will just never get that quality. So yeah, it would be great if implemented.

That wouldn’t be solved by what you want to do, unless they made huge changes to lightmass they would have to separate each “selection” to a separate object to bake the lightmap for it. And again, you’re still doing the same amount of work by assigning polygons as you would splitting a mesh.
Unity doesn’t do what you want either, the only advantage to Unity is that their hierarchy system applies to things in the library, so if you split a mesh in 3ds Max then you could import it where it would be a single parent object with the separate child objects attached to it. UE4 doesn’t contain hierarchies within the content browser so the only downside to splitting a mesh is that your content browser is going to be crowded.

“you’re still doing the same amount of work by assigning polygons as you would splitting a mesh.”
Again, I will tell you that it would reduce me literally hours of work of setting up dozens of meshes INSIDE OF UE4.
Also splitting and renaming UCX-es for every mesh is quite annoying.
And I could finally bring an entire buildings in one go from CAD or SketchUp, like you would NORMALLY do in any other software, without all this stupid hassle to split it to pieces…

Unity in fact is doing an amazing job. It is atlasing UV islands to various lightmaps automatically, no matter if it’s an element, an object or entire fbx, you just don’t have to even worry about it.
After baking you can find random UV islands from various objects in one lightmap, then others merged to another one, and so on. And it works!
Also there are padding settings for each mesh to help remove seams.
I don’t want to bring here the argument of how much better the Unity workflow is. UE4 workflow really is a stone age in comparison, unfortunately.
The idea is to help lighting more complex geometry, which definitely needs improvements, that’s all.
I can’t understand why this topic hasn’t been discussed so far…

Smart Poly is correct. Ive also been trying to find a post about this subject. You should be able to take 1 entire building into UE4. Splittng it up is a complete waste of billable hours. Architecture design is multiple changes last min. and the end result is always needed yesterday. Im not sure which architect spend weeks between design changes and final visual products. I usually only have a few days to turn around output. 14 years in the arch viz profession…Im sure this reply is off topic but if someone could point me to a thread that discusses this issue it would be much appreciated.

Unity doesn’t split one object across lightmaps, it can still only apply one lightmap per mesh, just the same as UE4. It works the same as UE4 does, in that it can combine lightmaps together into larger images so it can use one lightmap for multiple objects. Meaning it can’t use multiple lightmaps for a single mesh. UE4 also applies padding in between meshes to help with seams. But there’s other reasons that seams will show up.
The biggest problem with UE4 lighting is that it processes objects individually, which means that you can have free CPU threads but they can’t work together on an object, and it also means that they don’t share lighting data which will cause slight variations between objects. I’m not sure if Unity has a similar issue, their light baking systems have been a mess for a while, it generally renders slower than UE4 in my experience.

Hmmm, I was almost sure it did split lightmaps per material. Maybe I was wrong. Still Unity handles automatic UVs a lot better, and has proper objects hierarchy system which makes importing millions times easier. When it comes to baking, Unity 2018 is on a whole new level now. Love the progressive rendering!

By the way, speaking of lighting, on the side note, I didn’t try yet new area lights in UE4.20. I’ve been waiting for sooooo long for that :smiley: Definitely have to check it out!