Tile something using real-world dimensions?

I have a texture that I know represents 2x2m of real world units.

In 3D Studio Max, I can use a “UVW Map” modifier and just set it to planar (or box) with U tile 2.0 and V tile 2.0.

In Blender, I only know of the unwrap. Is there something similar in order to tile using real world dimensions?

2 Likes

Yes… it’s one of those kinda hidden things.

First of all, in your texture nodes, on your image texture node, set the dropdown that says “flat” to “Box”

Now, add a Texture Coordinate node, and link Generated to the Image Texture Vector input.

Now, go into your object’s mesh settings, In Texture Space, untick auto texture space, and set the size to… if you want your tecture to be 1m square, set it to 1,1,1.

Finally - this will work as long as your object is it’s original size. If not, over the 3D view press space, type Apply, and in the box on the left panel of the 3D view, tick the “scale” button.

1 Like

Thank you!

Yes, really obscure, just like the array modifier. :stuck_out_tongue:

I use 1/size in meters multiplied with object coordinates (with scale applied).
That allows me to easily loop coordinates for procedural use, where procedurals have scale 1. If I want another unit, I just divide further.


Screenshot shows what I might use for a 600mm EU ceiling tile, which I could change to 610 US ceiling tile.

Using object coords, it will ignore modifiers.
Using generated coords, it will follow some modifiers.

I forgot to highlight the scale of the brick texture.

Why I cannot find the yellow sign Multiply node? , I just found Math node … but it dont have Frac Slot.

Add Color/MixRGB, set to multiply. It can operate on 3 channels at once (i.e. RGB or XYZ). Math node can only operate on one channel.

Is there a way that I can give a random rotation in 90 degrees increment to each individual tile?

By the way, I`ve been learning quite a lot with your replies all over the forum. Thanks for sharing your knowledge.

I’ve kind of arrived at a partial solution. I don’t exactly know what I did, but here’s the blend file in case anyone is interested. It worked for what I needed.

random_rotation_test.blend (1.2 MB)

The exact texture I used came from here.

Yes. But ideally (in my view), unless you actually have identical tiles with 90° rotations, you should define the tile procedurally, then use an oversized image per tile and lookup random locations (and size and rotation), possibly with a slight variation on tile lay (flatness error) accuracy as well - keep in mind you should probably cancel out this error toward the grout. Random rotation (causing varying grout sizes) is a bit more finicky. I have some spare time, so I’ll see if I can figure out something.

Try this:
TestTiles.blend (1.5 MB)
The result with included texture:


There is an output socket ready if you really want only random 90° rotation.
I didn’t include hdr. I also suggest replacing texture with a high res modern one.

Thank you…Solve my problem… But i change this node… A good man told me this node ,if you scale model , dont have change uvw map size. …its very usefully

But I hope separate X Y Z (U V W) size . Control a single channel. like MAX UVW MAP…

It can be useful in some cases, but I would (for many more reasons as well) apply the scale instead while keeping the offset to the room should you need to move it or duplicate it. For tiles you’d try to line them up where they would naturally end up in the room; typically (yeah exceptions exists) you want to have a full tile in one corner. Since I’m using object coords, origo controls where this location naturally exist. You could also using object coords link to an empty and control the origo from that.

may be i succeed? but i rotate it… the UV broken… i will try Texture Coordinate node

OH NO the Object mode always flash UV. or display error bug?

Well, you used the position node :smiley: It will be world coordinates. It’s not UV. The main reason of using another coordinate system is to avoid having to deal with UVs more than absolutely needed. I’m not able to understand what you’re trying to achieve with the node setup, coordinate wise.

The checker node is slightly broken on pure 0 coordinate. Adding 1 or 10 or 100 to the coordinate system will fix it (or some modulo of its scale).

Man, you’re a nice person! Thank you for taking the time. I’ve been fiddling with the file for about an hour now trying to understand everything and I can’t say I do, mainly for my lack of knowledge on the Math node. But I’ve been able to isolate just the 90 degrees rotation portion of your node and work with it to achieve what I needed. Your way is much more elegant and easy to control than the one I did before. Thank you.

Just to clarify why I need the 90 degrees rotation only, that’s because I’m working with a specific porcelain tile from a manufacturer, so the pattern is always the same without scaling or mirroring or skewing. The only variation possible is the rotaton of the pieces.

UVWnode_test.blend (684.6 KB) I dont know… pure Coordinate? how to setup it? … Set Mapping Texture node? i just want create like MAX modifer :UVW Maping command. can be adjust U V W (XYZ) size. use meter or millimeter unit for adjust texture tile… because they are very useful apply for Archviz .

Yes, Max is a horrible program, but the UVW Map modifier in it is absolutely amazing.

I also wish someone would develop an equivalent in Blender…

The clear, no confusion length, width and height entries in absolute real-world units is usability gold!

1 Like

May be i can report developer? To many people like the modifer.

i post topic for the question:https://devtalk.blender.org/t/uvw-map-simlar-max-uvw-map-modifer/8440

maybe no one care about this. but i sadly for my ability. cannot create like simlar node for everyone.