Using Real World Map size with UV unwrapped models

Lately I’ve been using Real World Map sizes for my shaders. It’s just a more convenient way to reuse them on different models without adjusting the UVs.
The scale of textures always stays the same and you don’t need to worry about “Is it too small?”, “Is it too large?” As long as you get the scale correctly when creating the shader the first time, it’s going to be fine forever after.

If you are using this method for objects with regular mapping (box,sphere,planar,etc) it is very easy to just tick the little box that says real world map size in the UVW Map modifier and get a correct result. However, what if you need to use these shaders on a model that you have properly UVW Unwrapped?

There is an easy method to get the scale correctly, you just need to use a couple of little tricks:

So here’s my object, as you can see it is nicely unwrapped and works fine with regular map sizes.


To get it working with real world map size, I’m going to add an UVW Xform modifier to it.
You can adjust the tiling in these little boxes.


But how do you know what numbers to enter so it matches the real world mapping?
Simple! Assign a map that has clearly visible borders (a simple grey square with black border works fine) and set the size to something like 10 cm (smaller for smaller objects and larger for larger ones). Now create a little box or a rectangle above your object with the same size as you set up for the map and from the top view adjust the tiling until it matches.


In this case the magic number was 290


Now it works perfectly with any real world scaled texture!


If you want to mix and match the UVs between realworld and unwrapped, just use a different UV channel like this.