Seamless Material for Rhino

I am currently working on a project that requires the creation of a high-quality, seamless material for use in Rhino. I have five high-quality seamless images of real tiles, each with dimensions of 3.25 inches by 3.25 inches, with a 1/8-inch space between each tile. When I apply these tiles to a surface in Rhino and spread them randomly, I still notice visible patterns due to the repetition of the tiles, especially when I zoom out.

My main objective is to achieve a look where there are, for example, 1,000 unique tiles on the wall using my images, with minimal to no visible patterns. Given the high quality of the images and the specific application, I am looking for guidance on the best approach to achieve this.

  1. Techniques or tools to minimize pattern visibility when using a limited number of seamless images.
  2. Creating a material in Rhino that ensures each tile appears unique when applied to a large surface.
  3. Any tips or best practices for achieving the highest quality result in this context


First, are the provided photos your current results for the desired results?

Second, the advice I was given as an architectural student was to edit out the patterns in photoshop. That sounds harder than it is. Simply put, using masked based on materials generation using your render engine, apply various additional textures and overlays in photoshop. Add wear and tear, dirt, etc. This helps even out the look. Done correctly, you no longer notice patterns.

Cameron is right about the traditional way of doing this. When creating a seamless texture you need to make sure that it’s different enough to seem visually interesting, but homogeneous enough that patterns are difficult to pick out. This involves an iterative process where you look at the texture in context and slowly remove features that draw attention to how it tiles. Then after the render you want to add as much visual noise by hand as possible.

The more direct way of doing this, and the way I would prefer, is to actually create the variation in the texture yourself. Model the wall in Grasshopper and for every tile, subtlety rotate it to reflect light in a different angle, rotate the tiles in relationship to each other, model several different tiles and randomly distribute them over the wall. Then render this image.

If it’s tractable enough you could render it fully at this point. If it’s going to take forever and there’s too much geometry, render it just enough to get a usable normal map and then apply it to a flat diffuse texture (Or you could use it directly in post processing in photoshop).

Here’s a quick and crude example of what you can get through modelling small variations into a tiled wall, then rendering and baking that result into a texture.