0
$\begingroup$

I'm making a building for Unreal engine. This building has many small parts, and when merging all the UVs i noticed how small certain UV's get. In substance painter, these small UV's become a problem. What is your suggestion for something like this?

I would rather not break it up into multiple objects, and have to piece the building together in Unreal... but is that the best route for complex objects?

enter image description here

enter image description here

This last image is the problem I've been getting with the smaller UV'd objects.

enter image description here

$\endgroup$
1
$\begingroup$

There are several things going on here.

In general, to unwrap for lightmaps, the recommendation is not to make very big meshes, meaning meshes with many individual parts like your building. The only way to get decent lighting in such a scenario is to make huge lightmaps (ie 2048x2048 or even higher). Your build times in Unreal, as well as in-game memory use, will suffer.

A second thing to keep note of, is that you should always try to unwrap keeping as many parts together as possible. You seem to have created seams on all edges - this is a terrible idea for lightmaps: In the game engine, there needs to be a gap between every island (to make sure no light leaks from one island to the other). That gap will will shrink when you use higher resolution lightmaps, but it will create bad results:

  • you will see a seam on the surface where the edge is
  • with many individual islands, there will be much unused space in between the islands
  • with many individual islands, often they don't fit on the lightmap unless you make it very high resolution

A third thing, looking at your unwrapped image, is that it seems not everything is unwrapping properly. But it's difficult to see with so many elements on one object. Are you unwrapping with U->Unwrap?

What I would try first in this case is to unwrap with U->Smart UV Project, and set the 'island margin' to 0.5. This often gets decent results, if you're not unwrapping rounded objects (since it splits the faces based on the angle they share).

When I would consider splitting the object into smaller parts. How many, depends a lot on your scenario: will you create this house 100 times in one map? Or only once? If you're splitting the object, try to do so along the separation of materials. Separate out the roof and the road, for example. This way you don't create additional draw calls as a result of your split (the engine doesn't have to look up the roof material twice etc).

When preparing for painting, accurate unwrapping gets more important. You might have to spend time manually unwrapping the whole thing, to keep as many parts together as possible. The biggest difference with the lightmap scenario above, is that lightmaps don't suffer from seams on sharp angles, while for painting you might want to keep individual parts together - but the only way to do that I know is manually selecting edges and creating seams. Anyhow, for a complicated mesh such as yours, accurate unwrapping becomes one of the biggest headaches.

Good luck!

$\endgroup$
0
$\begingroup$

The size of the UVs are only an issue if the pixels represented by them are too low in number to be usable. If the bulk of your UV Map is like this, yet you get a good result with a relatively medium sized image texture like 2k or 4k, then it isn't a problem. If you try and still have problems, you then might try other methods of unwrapping the UVs based on length etc.

$\endgroup$
  • $\begingroup$ Check new image for problem i've had in substance painter $\endgroup$ – Jason Schayer Mar 4 '19 at 2:00
  • $\begingroup$ Can you make a copy of the object and use Smart UV Project to get a more compact layout and try in SP again? I am thinking that you just need to balance the size of the faces. $\endgroup$ – Craig D Jones Mar 4 '19 at 2:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.