Need help with my tile texture

Hi all,

I need a little help with my tile texture. The problem I have is that I want to limit my broken tile noise (brown chips in the tiles) to the edges of each tile - I’m sure this is possible, but I can’t wrap my head around how. Thank you in advance for your help.

EDIT: Just to add, I’m using 2 arrays to display the tiles at the moment, in case that wasn’t obvious.

The mask that you have is probably not a good idea. It’s rarely a good idea to run a vec into a fac. (Even for a straight gradient, you’d be better off separating channels and running a single channel into the fac.) And the use of generated coords won’t give you per-tile values.

There are basically two simple ways to mask this geometrically, either with a square shape, or with a circular shape. You can combine those two ways anyhow you want.

On the left, I’m getting the distance from the border (in UV space) to create a square shaped mask. On the right, I’m getting the distance from the center to get a circular shaped mask.

Either of these would be improved by integrating some noise into the mask, which can be done as a simple multiply. Curves can be tuned as desired (or color ramps can be plugged in instead if you prefer those.)

3 Likes

Here is a way to break up the repetition on the noise and save you a few poly. If you are porting this to a game engine you can often just find a dirt/stone texture or whatever and just bash them together for your edges. tile black magic.blend (1.9 MB)

Also with this tile scale method, if you need to rework the size of your tiles later you don’t need to do any poly edits.

edit I’m using 2.81 so the vector math average node if you see it should be a multiply, provided you do not clamp it, you can use a mix rgb node on multiply to get the same effect.

1 Like

Here is my attempt: BasicTile.blend (1.7 MB) . As for how it works, just use node wrangler to preview the outputs of successive nodes, as there are a few gradient oriented math nodes in there. I’m also doing inaccurate lay - normal of each tile is slightly off - just something I think is missing from most CG.

1 Like

I’m playing around with a 2.81 build and its new vector math and mapping tools, I think there is a way to procedurally rotate and or scale each tile with them, I’m playing around with the snap and reflects with some luck with this, although I’m going to have to rebuild it some so that each tile as a border space, else it just looks way strange.

I wouldn’t do anything on scale. This is part of the manufacturing process and should be constant, unless they are hand made. Variation in grout is part of grout sticking out and covering the tile, and inaccuracy of the lay.

Random rotation (just a tiny bit) is fully possible, I didn’t include it as it wasn’t asked for (except for a slight modification to the normal, as it’s kind of a freebie), and may involve another process, more generators etc. Certainly a lot more nodes.