The problem is blending between borders right? It can be trickier than it sounds. I wrote an article on this exact problem recently. Basically, sample scattered points much like the Voronoi diagram itself uses, except at a higher resolution, and use the data points to generate blending data. Here's the article https://noiseposti.ng/posts/2021-03-13-Fast-...
the ends of the segments have to join with a similar end of another segment
Corner pieces could be much simpler: 1 mesh for a wall, 1 mesh for a corner.
I also run into issues trying to close the loop and return to the original segment.
Loop generation is hard and scales with degrees of freedom in the model. The rule of thumb is to start with a loop if ...
With the following assumptions:
You have a maximum number of building of each kind to place.
You have adjacency rules (such as: House can be adjacent to House, Church and Factory; Church can be adjacent to House; and Factory can be adjacent to House and Factory).
One approach is to simulate natural growth of a real village.
Looks good and organic.
May be iterated to expand forever.
Easily adopts to existing terrain (rivers, forests, cliffs).
Start with a house in the middle of the area. These are your first settlers.
Choose a building type that is most needed next, considering what was built already and what is yet ...
Rule based placement
This approach will probably need revising once you start having more different building types and rules to their placement, but the task is assumed to be exactly as specified and should be able to expand somewhat as needed:
List of fixed building types as input.
Each building type comes with a set of rules for placement.
Buildings are ...
If you are following his tutorial and trying to convert it to HDRP Shader Graph ( I presume that's what's happening ), you might have to re-work how that shader is called from the main thread for a real game, where you might want to build that once at game load.
Now for your purposes of just getting this to work and not getting the error, you can just move ...
I am going to assume extra emphasis on the performance. There are plenty of thorough answers on this topic already, but if you are interested in something brutally simple and fast (as in real-time Python), I can offer you a method of "squeezed squares".
General idea is as follows:
Each block belongs to some bigger chunk. This is purely virtual ...