About the node

If you do architectural visualization you may have encountered the problem of texture tiling. In order to avoid this problem, nowadays we can find many ceramic tile companies that have their textures available on the web and we can download several graphics of the same model.

Now, what is the best way to use these textures?

A priori, there are two ways to do this.

  • If we have modeled the ceramic tiles, we could create one material per texture and apply it manually to the different tiles. This would be an impractical method because we would have many materials that would only accept one position of the texture.
  • If we have a plane to apply our material to, we would have to create a super texture (or mantle) in an image editing software that includes all the downloaded graphics. When generating that super image we would have to rotate the textures to give variation. In addition, we would have to take into account the joint, which we could not edit later if the client requested it. If that ceramic tile model has relief, metallic areas or different roughness, we would have to create a super image for each feature, taking into account that the variation that we have created in the diffuse, is the same that we create in the new map.

Both methods are not practical and we would waste a lot of time to create a good material without tiling.

As a solution to this, we have created a tree of nodes that by loading the different textures solves the tiling problem and gives us control to differentiate between square or rectangular tiles, use roughness maps, relief, etc., generate different variations, etc.

25 ceramic tiles with a single texture. Left: Tile, Right: With our node.

 

Features

We can load up to 8 different textures. If we need more, we simply import another material containing the node. This way Blender, when importing a material with the same nodes, will rename them to *.001 and we will be able to add up to 8 new textures.

We make a random selection of 50% of the tiles to apply the new material and we would already have 16 different textures.

Our node works in the same way being each ceramic tile an object or being all of them inside the same object, even if we work with a vector (which is the most efficient way).

Generally, ceramic tiles can be square or rectangular. Our node works with both types of tiles.

For square tiles (C), the node generates 4 variations for each texture, randomly rotating it 0º, 90º, 180º and 270º. For rectangular tiles (R), in principle the node generates 2 variations, rotating the texture 0º and 180º. This is how the randomness would be in real life.

However, to give more variety to the rectangular tiles, we have the option to allow the texture mirror to be generated, giving 2 more variations for each texture.

Finally we have a Seed slider that allows us to create new random combinations.

 

Important!

  • For the node to load the textures, we have to have the UVs correctly deployed.
  • For Cycles only

 

Using the node