Terrain modeling


I am working on a robotic simulator based on Blender.

I am using a small script [1] to generate terrain from aerial image and DEM [2].
Those two images are quite big (9000x9000) with a 5cm per pixel resolution.

My knowlwedge in modeling and mapping is quite limited, so I’m only using the displace modifier,
which limits me to a resolution of 50cm per pixel, and results in a model of 850K+ vertices and 1M+ tris [3].

My question is, is there a way to optimize the terrain using other methods (bump mapping / shaders) ?
I tried using the Decimate modifier, but it break the model (end up with a lot of holes in it).

[1] https://github.com/pierriko/morse/blob/master/tools/terrain/blend_dtm.py
[2] http://en.wikipedia.org/wiki/Digital_elevation_model (also referred as dtm or dsm in the code)
[3] http://www.pasteall.org/pic/show.php?id=61222

Thanks for your help!
Pierrick Koch - morse.openrobots.org

Personally i would rather use sculpting for terrain modeling.

How would you use sculpting from an height-map ?

For info, my lab is using an eBee [1] for mapping,
and you can get very large map with high resolution.

[1] http://spectrum.ieee.org/automaton/robotics/aerial-robots/sensefly-and-drone-adventures-toss-uavs-off-the-summit-of-the-matterhorn

Is the problem that you require more output pts (higher resolution)?
If not - there really should be no problem with this size output file.
I’ve run cnc files larger than 17MB with no problems.

[email protected]

I have played with DEM > QGis adjust height range > print/export as TIFF > Blender.
The size of the grid became a serious issue. I experimented at the time with manually selecting areas of rapid height-change and W,S sub-dividing them. This reduced the total number of vertices but was tedious.
I wonder if the Dynamic Topology and Sculpt Draw Brush in sculpt mode could provide mesh density manually in areas requiring it? The mesh could be flattened before applying the displacement modifier - you only want sculpt for rapid vertex creation, not for the height which is provided by your DEM.
If you can scan the DEM for areas/contours of rapid change and then use this information to apply subdivision - so flat areas remain low-density - several passes could be made over the rate-of-change information (stored in a list or array?) until you have the resolution you require. Or, discrete ranges of rate-of-change could define how many times to subdivide a region.
Sorry for offering questions in place of answers :slight_smile: It is a very interesting topic and one that can be applied across many disciplines.
I wish you success and will follow this thread as a curious amateur.

Follow-up to the dynamic topology and sculpt mode - this works very well. You could load the aerial image as background and sculpt detail around the edges of buidings, trees and other ‘steep’ borders.
The trick is to zoom in before scuplting so as to only add vertices to the contours and edges that require it.
Afterwards, in edit mode select all and S,Z,0 scale to zero.

@5xj I would like to use the full resolution of the heightmap, 5cm per pixel, 9000x9000 grid
@42below thank you, I will have a look and come back as soon as I get good result

I will look at the HIRISE DTM importer as well:

You start with a plane, and use subdivision and displace modifiers to make the basic shape using the height map. Then, when you have as much detail as the heightmap is going to give you, you apply the modifiers and begin sculpting.

Well, adding a grid of more than 500 subdiv starts to freeze [1].
Ideally, I would need 9000 subdiv to then simplify the model.

[1] https://gist.github.com/pierriko/7234720