I make 3d for games and recently I've been working on refinishing my apartment and I got an idea to make some funky/chaotic pattern for kitchen floor or backsplash. After surfing the internet I realized, that I simply can't find any set or collection of tiles to make my own pattern with it, neither paid nor free. all I could find were either monochrome tiles textures or same with repeating pattern on them, which I had to scale down to a single tile, make more adjustments so on and forth.
So I decided to create my own set of tiles, and more over a reusable template to expand the collection in the future.
I love to share, so making the whole project cc-0 was an initial thought. intention to share took some extra effort, bc I had to write some instructions of how to use the template. I never analyzed the audience to have an idea of an average skill level of a potential user, so I had to make it as clear as possible, having in mind, that it is not the first time a person opens blender. I also did not forget about my russian speaking blender bros, who don't speak english but might use the template as well. and also produced a video tutorial (god I hate editing videos):
I've started with sculpts, and I wanted to create few variations of wavy solid tile, few cracked variations and few heavily damaged ones. but my time is limited, so I've stopped at 1 solid sculpt, 3 cracked and grout of course.
It was a hard choice of how to keep everything customizable (including grout), and at the same time keep the simplicity of packing all tiles with snap into one pattern keeping grout in mind. My first attempt was to join tile mesh and grout mesh into one object and one UV, but with a separate material for a grout, so the user can quickly change the color and other attributes of the grout. grout itself was supposed to be a few polygons and this approach provided the ability of snapping tiles to its corners with ease.
But with such a lowpoly grout I had a clear and straight line on the intersection of a tile and grount which is not that realistic, in real life grout is somewhat janky and has some sort of clots. More over, if a user wants to change it to something more advanced, and if the collection grows into 100+ tiles, it is going to be tedious to replace it on each tile. So it was pretty clear to me, that the grout should be separate, so I needed a plan of how to place it between tiles without eyeballing, enhance it to make it look more clotted and and at the same time keep the simplicity of snapping tiles preserving space between them for the grout.
Upgrading grout was also a sort of a challenge, bc I needed extra polycount to make it look 'expanding' onto the tile and make it seamless at the same time. I hope I did the job, so it looks like this now:
Yes, I know its far from perfect, but it is separate and you can modify it if you wish. The polycount has increased dramatically, but it still usable on the mid-end hardware inside the actual interior, if you make archvis, and if you want to use it in gamedev you are going to bake it to planes anyway.
Most of the pbr maps are created in the software called materialize. They are 2048px. All the source pictures I got from openclipart.org, publicdomainvectors.org (cc-0 content) and some other sources with either cc-0 or cc-by licenses. all links to pictures are provided inside the blend files.
I've also prepared some prebaked planes for game engines and tested them in my favorite one - godot engine.
Baking multiple assets onto one was made with 'principled baker' addon. it is a must have for gamedev! I wish its functionality was in blender by default long time ago, but we have what we have, and im really grateful that open source community is capable of creating such amazing tools.
Thats it, thank you for reading and I hope this collection and templates were useful for you.