Download

Mansion Modeling/UV mapping method

I’m currently working on the basic structure for a mansion level I am creating (interior and exterior). Once I have the block of it done, I will then add the finer details and then map/texture it. The problem is that I do not know how to effectively divide it up. It is not a modular model so i’m not sure how many pieces to create and how to map it correctly with even resolution.

Here is what I have so far:
e2123619ee34cd8f888cf73324c5a7edfa3be6c5.jpeg

Typically for archviz I would separate each visible wall into its own mesh, and combine any outside corners just for material consistency. It all depends on how much detail you want in your light maps, and how patient you are.

So I should just divide up each wall and floor into separate meshes? There’s just one concern with that: how do I make the identical parts of the mansion have the same UV texture density? <- I don’t want to have identical / adjacent floors having different pixel densities even thought they are displaying the same textures.

For mapping wall textures if you’re using 3ds Max you can just apply a Box mapping and set the mapping gizmo to your desired size and position, and then apply the same modifier to everything which will end up having the mapping line up across all of the meshes. For that stuff, try to combine as many parts as possible, only separate things when you can’t get enough lightmap detail.

You indirectly answered your own question on how.

There is no easy shortcut. For whatever you want to maintain said pixel density, you need to manually adjust said values i.e. UV mapping.

IOW, if you want those to have the same density, you need to make them separate pieces, and give them that same density via the UV maps.

In 3ds Max, after everything is unwrapped, you can select all your wall meshes and apply a MapScaler modifier to everything. Make sure it’s set on channel one and it will match your texel density on everything selected.

Fyi, I am using Blender. Are there any addons or ways of making a script that can do that?