Cobble Floor

Material Breakdown

Sun Weijun


Sun Weijun

Environment Artist


Hello everyone! My name is Sun Weijun and I am 23 years old. I work in Shanghai, China as a 3D Environmental Artist.
I love materials and practical tech, I am currently also learning Game Tech art.


  • To improve my proficiency in software and enhance my control over materials.
  • I love creating realistic styles, so for this exercise, I have tried to focus on a more realistic approach.
  • I have made an effort to slow down my production as much as possible and concentrate on enhancing the final quality.

Reference and Reflection

After looking at a picture of a cobblestone floor, I believe that it can significantly enhance my production skills.
However, the main reference is somewhat unclear and lacks depth, so I need to incorporate my own designs and ideas. Additionally, I have found more specific references to aid me in this task.

Below I will break it down further.


I am going to skip some of the basic node steps due to the large number of nodes.

Floor size

In terms of the floor size, after splicing the basic shape, I first increased the contrast using levels to obtain the shape and then created a hollow effect using the edge_detect node.
Finally, there were some refinement steps. The two nodes within the red box are crucial and will be frequently used later on.


Pebble size

I used a combination of the perlin_noise node and the levels node to quickly create different shapes of pebbles.
Then, I used the auto_levels node to ensure that the mask was at the right color level. Finally, I used multiple Transformation 2D nodes to select the correct shape, and the cobblestone scale was complete.


Arrangement of Pebbles

The pebbles were arranged using the “Tile Sampler” node. Here, I used four of them for different parts of the pebble arrangement.
Previously, the floor tiles were divided into two nodes – one as the mask map input and the other as the vector map input.

The pebble layout in the reference has a flower shape. To achieve the same layout, we need to set the Vector Map Multiplier in the tile_sampler node to 1.

Pebble Details

Distort the crystal_1 node using the perlin_noise node to make the mask appear more natural.
Then, decrease the brightness using the levels node and finally, apply distortion using fractal_sum_4.


Next, use slope_blur_grayscale to highlight the details of the broken pebbles and the newly formed node-set.
The pebble damage strength in flood_fill_to_grayscale is randomized.

Stone brick

1) The large stone foundation is laid out using the “tile_random” node.


2) In order to achieve the twisting effect of the reference upper stone brick, the Perlin Noise node and Directional Warp were used to fit the reference to the shape mask of the stone brick.

3) Subsequently, I added two edge_detect nodes: one thick and one thin.
For the thick one, I locally blurred the non-uniformly blurred grayscale and adjusted the contrast and position. This way, the edge width would be much more natural when combined with the fine one.

4) This part involves chamfering the stone bricks during their production.


5) This part of the stone brick slope has shading changes.


6) This last part adds the details of the stone brick.



I applied a noise Directional Warp to the branches using the base shape, mixed them together, and finally scattered them randomly on the ground using the tile_sampler node.



The leaves are similar to the branches. The leaves are shaped and then scattered randomly on the ground using tile_sampler nodes.



Here, I created the soil on the interior and mixed large cobblestones and floor tiles with stone bricks.


Pebble Color

1) The red box contains a mixture of curved and smoothed pebbles, providing a natural and effective mask for color conversion using Gradient Map nodes.


2) For the red box part, I used the pebble mask in the “flood_fill_to_grayscale” node to randomize the gray level of each pebble.
Then, I used the “Gradient Map” node to make the color of each pebble different. Finally, I superimposed the color with the one I made before.


For the stone and brick I created three different colors and then combined them with two different masks.


The rest of the colors are made in a similar way to the stone bricks, and the final step is to combine them!

Thank you for reading I hope you enjoyed it, if you have any questions please contact me on my ArtStation.