Simple terrain generator... any suggestion?

Dear experts,

I just need some simple (and free or cheap) terrain generator to create a random mountain landscape with forest and rocky regions. Ideally, it should be rendered directly from GrassHopper´s Vray engine.

I´ve already checked food4rhino:

Lands Design plugin has GrassHopper interface but it seems too detailed and complete for my simple purposes. In adition, you´re forced to bake and render in Rhino (not from Vray in GH) and it is only 90-days free.

Bison plugin seems to generate terrain and it´s free but it has no trees or forests.

Would you recommend me some simple terrain generator GH plugin?

Thanks!

Creating terrains with forest, rocks, ie, biomes, is not a simple thing. To the god of some people didn’t like your post. :laughing:

1 Like

Hi @Vigardo,

Gismo has a “Terrain Generator” and “OSM 3D Forest” grasshopper components.
Attached is an example.
terrainForest.gh (83.9 KB)

Before opening the .gh file you need to install Gismo by following these instructions.

1 Like

The easiest way to do a terrain approximation (given an ortho image) is to apply classic mesh hightmap techniques. Images shown below via C# .

For instance given this:

You can get that (shown: very low mesh resolution for clarity):

Adding realistic 3d objects (like trees) is a very CPU/GPU intensive task. Adding indicative objects is less taxing (but I can barely see the reason).

2 Likes

Thanks all for your very interesting contributions!

I installed Gismo and successfully generated some terrain surface from real data using Djordje´s GH file!!! You just have to find the Latitude and Longitude coordinates for your favourite site and you get the terrain surface from real data! The surface can be rendered in Vray for GH.

The weak part of Gismo may be the trees generator. They are all different sizes and randomly distributed over the surface, but they are very coarse and single color. In any case, they would do the job for some applications.

However, I would need more detailed trees for my project. Perhaps not so detailed as Lands Design trees, which are awesome (but only if baked and rendered from Rhino).

I think I will be able to load one baked Lands Design tree (using 3DM component) and randomly spread it over the Gismo generated surface, but I don´t know how to use one texture for the leaves and other for the wood of the tree (I´m totally new in Rhino).

Any recommendation? Is there a way to do this? Any workaround?

PS: Pfotiad0´s C# solution seems also very nice, would you share it?
PPS: Sorry for offending someones terrain-generator Gods :slight_smile:

This particular build is strictly internal. But I think that I can find one that is classified as public.

BTW: I have some other C# that does random terrains recursively (but I’m not in the practice right now).

BTW: With regard objects is totally out of question (and a very outdated approach) to use real 3d models: what you are looking is RPC cells and a BIM AEC app that supports them (like Microstation - AECOSim). Find a friend who knows what these things are and ask for a rather convincing demo.

https://archvision.com/

Here’s an ancient test for Ray Bentley when the man was doing the 3D PDF/RPC cells for Microstation (Beta: 8.9.3.65 nicknamed Athens2). Notice how primitive the RPC things were back then (but today … you can imagine).

RayBentley-RPCCells-test56B-Default-001.pdf (2.5 MB)

BTW: You can do “realistic” (kinda) 3d trees via recursion … but why bother?

1 Like

To increase the number of trees use the “maxNumOfTrees_” input.
If you increase this number the trees will be dense, thus you won’t see the trunks.
You can set the leaves texture to the whole tree brep with Human plugin.

1 Like

You can use Blender and this plugin of Alessandro Zomparelli

2 Likes

Thanks all for your very interesting contributions and sorry for the very late response. I hope you all are fine.

At this moment, using Gismo and terrainForest.gh is good enough for my project. But I would eventually go back to this topic in the near future.

PS: I also found GHowl to import terrains from Google Earth to Grasshopper, I haven´t tried yet but it seems nice and simple. In Sketchup, this is possible as well but it requires a paid version.

Hi @Vigardo,
You can’t do it with GHowl anymore. That was back in the time when Google allowed accessing their elevation API without any registration.
Nowadays you have to register, and add the “api key” in order to get the terrain from google.
The only component (that I know of) at moment capable of doing this is Ladybug Terrain Generator from @AntonelloDN.

1 Like

Hi Peter F. I was wondering if you could you tell me where one might download the definition for the recursive trees or provide some advice on how to build it? Thanks!

This C# combo is strictly internal to the practice.

But if you are familiar with C# (and recursion) I could provide a variety of hints on how to do it. That said the easiest way to do “realistic” (kinda) stuff like that is to get the boughs as lines (from the recursion) and then “distort” them randomly (out: polylines) in order to get the captured result. Foliage is also a post-recursion process.

1 Like

I am decidedly not, but I have a lot of free time and willing to learn.

This is a fun thing to do, look for FBM (Fractional Brownian Motion), you basically stack noise at different amplitudes/frequencies to get a heightmap. Here is an example I made using shaders, if someone is really into this way of doing things I might write a component that does it. On the other way of getting things from real things, GHopperGIS has tools that download data from satellites like ALOS2 and the likes.
*Disclaimer: I am the author of GHopperGIS.

1 Like

You’ll need about 6 months to learn how to do things (1%) and several years to learn how not to do things (99%). And remember: C# is kinda martial arts: During the first years is rather hard to get the gist of the whole thing.

Get an entry level take on that matter. No need for // since on average it takes 1ms for 1000 items (in a slow i5). For the foliage on the other hand and if we talking about millions of Breps … this is a (thread safe) // challenging task.

Recursion_TreeEntryLevel_V1.gh (52.9 KB)

BTW: If and when you are C# ready (so to speak) drop me a word: We can explore various ways to do recursively random terrains in a couple of milliseconds per variant (PS: In the demo CCX with water is deactivated for speed).

1 Like

A bit late but I decided to add a terrain generator for the plugin (GHopperGIS) I am working on, get it here!