Whats best practice for unwrapping large objects?


How many maps should I use for very large models like this ship? Should I try and use one large map or multiple smaller ones?

-The player can’t actually board the ship, only come along side it.
-Should the rotating turrets have their own maps?

Any help or tutorial recommendations would be much appreciated…


(apologies if this is in the wrong section, but the AnswerHub looks like its meant for shorter answers?)

Not really a UE4 specific question, but anyway…

You’d want to try and break the ship down into pieces, then use the same UV/mesh for anything that is duplicated.
So yes, since the turrets, boats etc have duplicates, they could share the same mesh & UV.
If you need to add details to each, you can rig up the material to show said details and/or use decals.

UV maps are not resolution dependent and on this kind of object I would go with a single map and single 4k texture atlas

Take advantage of mirroring, tiling textures, detail maps, vertex painting/blending, using geometry and UVs to place details like stripes, decals, etc. You could also use masks to layer tiling materials.

Depends on how close you want to be able to get to it.

If you don’t get any closer than the screenshot above then you might be able to get away with what FrankieV suggested above.

If you want to be able to walk around on it then that’s gonna be a much bigger rabbit hole :slight_smile:

Thanks for all the replies…

I think I’ll start with Frankie’s suggestion (I need to master the basics). But I’m afraid its a rabbit hole I can’t avoid indefinitely, should I be reading up on the methods Zac suggested?

-Also, is there any reason why an object can’t have more than one texture map in UE4?

You can take advantage of multiple UVs and textures in UE4. That’s probably a good idea for something this large. Still I wouldn’t go crazy and use 5 2048 textures to uniquely texture the whole thing.

I was thinking about this more last night, at the size above what you’re talking about is a model.

But if you want to walk around it, then that’s really more of a level made up of a whole lot of models each with there own materials and textures than a single model.

I have to assume you mean material?

Short answer no reason at all but it would be like eating candy and not brushing your teeth afterwards. After a while your going to run into a bad case of decay :wink:

In a past topic I suggested that there is a difference between inherited performance loss as compared to procedural optimization of combining mesh with material assets. When it comes to geometry UE4 is very efficient at rendering HIGH detail geometry with little impact to FPS and rendering performance and even if as a single object with a 1 meg poly count (2 meg tris) UE4 with a decent video card will have no problems of pushing polygons. You can if you wish cut the model up into modular parts and export as separate objects as in place relative to 0 0 0 origin. This way you can drop the parts package into the scene and whatever is not visible will be culled and not rendered so the total poly count is “only” equal to whats in the view port. (excluding memory footprint of course)

Material though is where your going to run into inherited performance loss as the user can easily create noticeable FPS drop because there is no real way to control the optimization as a procedural process.

It’s actually very easy math using a single texture map at 4k resolution = 4096X4096 would be equal to the same area of resolution at 4 X 2048X2048 but in the process would inherit 4 times the performance loss as to draw calls.

So as a single map object by design broken down into separate object UE4 will cull what it does not see and for all thous objects using a texture atlas would only require a single draw call and not an additional call for each material added.

For that matter if you are doing mobile or VR using a texture atlas is almost a must.

Yep, I meant extra diffuse layers for dust/battle damage etc (which I can control the opacity of?).

I find myself wondering…

  1. Whats the difference between a texture atlas and a standard 4096x4096 texture?
  2. What part do material ID’s play in all this?
  3. Unreal has its own bespoke materials. Should I be using these for metallic parts or is it more efficient to use an ordinary spec map?
  4. Could I somehow use a 4096 for the Diffuse and 1024’s for the Spec, Ambient, or Normal maps?
  1. A texture atlas is just a texture for a bunch of different assets put onto one texture sheet.
  2. You can use material IDs as a mask to have higher resolution and sharper lines between different “sub materials” or textures. Epic is using a workflow like this for it’s Paragon characters, partly because they want to be able to change characters looks with skins. 1 material mask could allow you to have 4 (or more) different tiling materials on a model with one texture. So you could have a ship hull material, rusted hull, dirty hull, and a darker painted hull material with tiling 512x512 textures and a 2048x2048 mask, and save memory from having a bunch of 2048x2048 textures, and have higher texel density. It might not be the best approach for your use case, but it’s an option
  3. With UE4, you shouldn’t be using spec for most materials, it’s mostly there as a legacy option. For PBR materials you just need a base color (albedo/diffuse), metallic (a value of 0 or 1 can work as well if it’s one or the other), roughness, and a normal map. Ambient occlusion textures can help but aren’t required. From what I’ve seen, most ships do not have much exposed metal. Painted metal or rusted metal is treated as a non metal in PBR.
  4. Yes, textures do not have to be the same size. But I’d suggest keeping the normal map the highest resolution.

So much great advice here, I should have made the switch from Cry long ago :smiley: