Is it necessary to have UVs mapped for parts of a mesh that do not have a texture, only material color? In the mesh below, I want to maximize the UV space for the face of the panel rather than the back which you will never see. I just moved the polys for the back and edges to the side within Maya and applied a black material. When it imports into UE4, light maps are created fine and the object seems to look fine within UE4. I just wanted to find out if this is a bad workflow or if it is fine as long as it looks okay. Would another option be to just eliminate the polys on the back side as it will be up against a larger box, or does UE4 prefer watertight meshes? Thanks in advance!
If the polygons aren’t going to be visible and aren’t going to affect lighting then you can just delete them
What also helps is to reduce the amount of materials–so that object should be one material. For the buttons that light up you would use an emissive map. You can put a grayscale map into the alpha channel (if you don’t need an alpha channel) and then in your material you can multiply it against the RGB channel and then you’ll get a result that you can apply to emissive.
For parts that are just a single color that are among parts that need actual textures you can map some small color swatches in a corner somewhere and then just UV map those parts to the appropriate colors.
Excellent info!! So just to reiterate your last part, if I DID in fact need to keep the back polys, but they were not going to get a texture, only color, I could map them very small in a corner that has been colored for them? Thanks so much Darthviper!!
**darthviper107, **I have heard a few people say to use a color swatch to map color to a UV. Do you have a screenshot on how that is done. I do not understand this. I have 60 blocks and they are 60 different colors which equals 120 draws calls, 60 for the meshes and 60 for the materials. How would I make this into 61 draw calls. Would I have a swatch with 60 colors and then for each block some how map the UV to the color. I cannot understand how this would be done.
Unreal can automatically combine meshes to reduce draw calls if they use the same material, so if you have stuff that just uses some solid colors it can definitely help to use a single material with a color swatch texture for them so that they’re all using one material and can be combined into fewer draw calls
Here’s a screenshot of what I mean:
There’s a texture that has a grid of all of the colors needed, I just made it in Photoshop, and you don’t need it to be all that high resolution.
You then need to select the mesh/polygons that you want to be a specific color and UV map them so that the UV’s are on the color that you want that to be. In 3ds Max, I just use the Unwrap UVW Modifier and then use Planar mapping with the selection (to group the selection together) and then a position and scale it over the color I want in the texture. It’s OK if the polygons overlap, you’re just applying a basic solid color texture.
Thank you darthviper107** for the detailed reply! This sounds like it would have to be done in a photo editing program. Is there any way to do this directly in Unreal Engine? All the blocks were made within Unreal and so was the material. Is there anyway to tell the block what material it is supposed to use?**
If you’re making a Minecraft style world, then I’d just use material instances, which is where you have a master material with some value (like a color) set as a parameter. When you make a material instance of it, you can modify the parameter by itself without having to construct whole new materials for each.
In a Minecraft style world, there’s not that many different blocks at one time, it should have good performance by combining draw calls for the ones that use the same material instance.
The method of making a color swatch wouldn’t be a good option since you’d need a unique mesh for each block due to having to have specific UV mapping for each.