You may also enjoy this post originally from The Witness game dev blog: The Nebraska Problem. It’s about how to arrange a series of sprites to avoid visible seam patterns in between them.
The author has a newer project, too, MarkovJunior[0], which generalizes to the combination of WFC with arbitrary cellular automata and grammar-substitution-like types of rules, with probabilistic inference robust enough to be able to e.g. solve sokoban levels in addition to generating stunning random results.
Wow, this looks incredibly good considering that the solution for hiding the seams is just to blend things together with a noisy gradient. (EDIT: Or I've misunderstood how it works!)
I assume it works a lot less well on more isotropic textures (e.g. what does wood grain look like?) than on the examples presented here.
I'm also curious how this would work with a regular grid instead of hex-tiled. That is, if you blended the seams and randomly rotated each square as they do with hex-tiling, would it still look good?
And are they splatting a random hexagonal sample from a repeating tiled plane, or are they splatting the exact same image, but arbitrarily rotated? That is, are they using the fact that the image tiles cleanly or does this technique completely obviate the need to use a tiled image?
> If I use square tiles and hide the seams between adjacent tiles, will it look OK?
Square tiling is very obvious, as you can see from the first example [0]. Hex tiling shifts tiles to a less obvious pattern. Also, as I can see from the video, tiles can be rotated while hiding the seams perfectly, which eliminates repetition altogether.
Is that first example comparing squaring filing with the same _fixed_ rotation for each tile versus hex-tiling with random or otherwise varying rotation?
You could use world position (or just some non-uniform sampling) to offset the UVs and get a similar effect, no? Is hex significant or is it just one of any number of ways to break up the uniformity?
In practice, yes, it's very common to use a shader to sample the texture with some rotation and noise. Most games have a shader level implementation to address this, and we've done that for a decade at least.
With a single texture and without wasting a bunch of performance modifying/filtering it on the fly? How exactly? Would make a great addition to this discussion :)
I wonder if having a single texture and randomly rotation it with blending the edges on a square grid would look just as good or not. The texture would just have to be larger than the tile it covers
Are there any popular game mods implementing hex tiling in originally square-tiled games? A lot of classics, like Skyrim, should look a lot better when viewing tiled surfaces at a distance.
Anyone have an elevator pitch of the dithering technique? Is it consistent across mip levels and camera angles? Does it take samples or is it just math?
https://news.ycombinator.com/item?id=7692332