Tried to make road / street network system with geometry nodes in blender. Plan is to instance street / road chunks on vertices and along edges in between intersections. Mesh topology have non manifold grid like topology with unequal edges and unequal columns or rows, I want to edit base topology by hand to fit the roads and intersections where I want, similar to cities skylines. I put junction nodes on vertex and straight road chunks in between them if they are connected with edge.
I will drop the file in a moment hope everything is packed right way. Well blend exchange don't like the file, so here its 80MB google drive share:
https://drive.google.com/file/d/1DECLhFk0I8kH_-T0H6bTEF3wDGJOivIe/view
I have couple problems with that:
- I can add junctions/intersections based on vertex neighbour count. Yet I can't rotate them toward sum of neighbouring vertices, it looks its impossible to get all neighbouring points of intersections to calculate orientation/sum of directions/vectors to them. And more exactly its hard to get neighbouring vertices ID's because indices are unpredictable and get scrambled when you edit mesh (for example subdivide or extrude verts). I would probably better of generate custom junction mesh for every spot like they did in matrix UE demo, but I would still need all neighbouring vertices for every intersection orientation. How can I get all neighbouring vertices, their indices / positions?
- Another problem is I want to fit the straight road chunks along the connecting edge, so I turn every edge into curve with extra points but distance between them is rounded down to fit whole sample so there are always gaps between road chunks or they overlap + gap with intersections.
- Road chunks would best deform to curve and snug fit the vertices. I found someone made custom deform array on curves, but it only works well on single curve not on geometry that have edges converted to n number of curves.
What I tried:
- Edge Vertices Node + index node with field nodes but it outputs only 0 or 1 could not pass needed vert index
- I tried also some geometry selections nodes
- I tried to guess the index of neighbours with field nodes but I can only get next and previous one, but third or more is not simple index +1 or -1, and two neighbours is not enough to calculate orientation.
- tried a bit with Raycast node but I don't think it will work for non grid parts of topology, reason is I don't have direction to off grid points to cast the ray there
- I think maybe instead of converting edges to curves, converting them to mesh lines would at least let me instance points at exact lengths yet I got stuck when needed to angle them the same way as original edge, maybe its possible tho
I tried bunch of ways for couple days, but found no solutions, maybe someone can help.

