Road on terrain - Meshing workflows

I have been researching the creation of procedural roads on a terrain. Though I am quite new to working with Meshes in Grasshopper, so I need some help with using the right components to do the mesh creation, see the questions in bullet points.

Workflow 1: Mesh a plane and shrinkwrap in Blender
The first is to create a planar surface and to use the curves to trim the surface. Then, the surface could be meshed with the settings set to create relatively small triangles. I could then import this in Blender and Shrinkwrap the planar mesh to the Delauney Mesh that I already have in Blender. I also have a draped surface, which I could use to project any curves on.


An equivalent technique in 3ds Max: A lite and flexible 3ds Max method for modelling 'complex' urban landscapes from supplied designs. - YouTube
It is not that hard to replicate`this in Grasshopper.

  • Are there any shrinkwrap/ conform methods available for Grasshopper? Then I wouldn’t need to resort to Blender.

Workflow 2: Clean roads topology
Although, the mesh component sort of takes care of the adaptive remeshing technique that is demonstrated in the picture above for workflow 1, it probably won’t produce a clean stitch between the road and the terrain. Furthermore, the road will be much harder to UV since it does not consist of a quad grid along the length of the road.

Ideally, I would want to create a topology that is similar to what’s shown here:

This method creates a triangulated terrain mesh from the same edges as the road, therefore, the mesh stitches together nicely, see (don’t mind the cursor, it isn’t mine):

This video below illustrates the meshing workflow in particular. Notice that thanks to using separate road and terrain meshes, the roads can be relaxed and moved down into the terrain, which reduces any steep slopes that might have been there.

  • Is this meshing algorithm (Garment maker modifier in 3ds Max) replicable in Grasshopper?
  • How do you (sort &) loft adjacent mesh borders?
2 Likes

this probably doesn’t answer to any of your questions :slight_smile: but I remember watching this video on the topic a couple of weeks ago, found it very interesting, maybe there’s something that could be of help

1 Like

Just a thought as an option. Check out Land Kit, more specifically Topo Kit. The Create Areas and Project Areas components allows you to define roads and other materials in 2D using surfaces which then project the areas to your topo mesh, converting your surfaces into meshes which follow the topography. There are a bunch of tools for manipulating topography which make creating realistically graded roads as well.

Thanks for the tip! Adding the projected points for the roads and/ or building curves to the delaunay mesh is something I hadn’t considered. So that concludes workflow 1 and is a nice alternative for the ‘shrink-wrapped’ terrain.

A combination of tri - and quadremeshing with guide curves could help me achieve workflow 2, I think. Though if I split the terrain tri-mesh from the road mesh, I need to make sure to keep the Tri-remesh features (the meshed road outlines, i.e. as Mesh Edges: E1) directly associated as guide curves (Edge loop: option 2) for the Quad remesher. That should, hopefully, keep the quad remeshed road attached to the terrain. I could also use the projected road centrelines as feature lines to guide the edge flow along the centre of the road. So @inno, I think you’ve nudged me into the right direction for both actually. :slight_smile:

1 Like

Depending on if you are doing a visualization or actual road layout you may want to search for the terms “cut and fill” which is a typical volume analysis done for earthwork construction.

There have definitely been several discussions topics on cut and fill anaysis with mesh terrain which involves cutting in the road form.

Thanks for the hint, this thread has a couple of nice suggestions as well: