How to scale texture maps evenly across different sized objects/uvs?

So I have multiple objects (walkways) that have different shapes, sizes and thus UVs, so if I apply the same pavement material, it’ll be sized differently on each object.

I know you can make their sizes consistent using a WorldAlignedTexture node, but it requires a texture object, and I already have an intricate master material with many tiling options, would be a shame (and a pain) having to double my texture map parameters and add static siwtches for all of them.

Is there another way to do this? Or an easier way to implement the world aligned texture to my master material?

or should I just apply the same planar mapping for all my objects in my 3d application instead?

1 Like

Realistically. You don’t.
You scale the object UVs to the same texel density in the 3d program.
Then when you import stuff everything shares the same density and can work correctly.

That’s really the only completely reliable way to handle same density.

On the not totally reliable side.

A world aligned texture is, in essence, a texture that just uses world position > mask R G as the U and the V of the UV.

Instead of adding switches and using the world aligned node, you can add a switch and use a world position derived UV to maintain similar density.

To get that, world position divided the texture size mask RG should do it, but experiment. And don’t quote me on it ;p

1 Like

Its actually really easy. Theres a node in the material edditor called object scale, if you multiply your texture coordinate by that it should adjust each texture based on object scale. Then all you need to do is make sure all your UVS are accurately scaled. I always just plop a new UVW cube on em at a universal scale (literaly just keep the uv cube at 1x1x1 no matter the object scale) then reimport. This keeps all textures the same size and avoids uv issues. its brill.

1 Like

This seems like the way to go but I’m new and barely get it. >.<

Maybe this will help?
image