I’ve gotten a little tired of how uniform the whole world looks with these perfect tiles. I want to create a tile system that will better reflect the environment you are in. If you are in a grassy field then you should not be getting tiles that are perfect in shape, but a little jagged. But if you are inside of a house you may want perfectly shaped tiles.
So I need to create a procedural system that can create tiles as jagged as I want them for a scene, while still keeping all the tiles perfectly interlocked. In order for me to do this I shift each vertex within a certain sized circle based on how jagged I want the hexagon. Then make sure that any other hexagons who share vertex positions apply the exact same offset.
The application of this new procedural approach worked really well, letting me have complete control over how the tiles are formed and creating a nicer aesthetic for more natural environments. Below are some tile generations at no offset, some offset, and max offset.