Skip to content

Supplementary tools for scene generation

han16nah edited this page Oct 17, 2023 · 8 revisions

HowTo 1: Export Blender scenes for HELIOS++ - Two ways

Laquila_blender arrow Laquila_obj arrow Laquila_pointcloud
Blender Scene HELIOS++ Scene Simulated Point Cloud

Option 1: Blender add-on Blender2Helios by Michael Neumann

Blender2Helios was the first Blender add-on to export Blender scenes for HELIOS with the initial version developed in 2019, when the Java HELIOS version was still around. It allows exporting static scenes. The export settings are configured in the add-on preferences and optionally, a default survey can also be written.

Option 2: Blender add-ons dyn_b2h

This repo contains two add-ons which are specifically for animated (i.e., dynamic) scenes but also work for static scenes.

  • The dyn_b2h add-on allows exporting a Blender animation which was created using rigid motions and keyframes. This is done by converting the Blender transformations to sequences of rigid motions in HELIOS++, see dynamic scenes.
  • Some animations cannot be represented in HELIOS++ using rigid motions (e.g., deformations) or the scene is too big or too complex for efficient HELIOS++ simulations with animations. Or we do not need the scene to move during a simulation but rather want it to change between consecutive simulations. In these cases, the multi_epoch_b2h add-on can be used to export a time series of static scenes. Based on the user settings, a static scene is exported at certain frames of the animations and a separate scene is written for each time step (i.e., frame).

HowTo 2: Obtain computer-generated tree models

Based on the parametric model by Weber & Penn 1995

Reference:

Weber, J. & Penn, J. (1995): Creation and rendering of realistic trees. In Proceedings of the 22nd annual conference on Computer graphics and interactive techniques (SIGGRAPH95), pp. 119-128.

Built-in Blender add-on. No need to install, just enable under Edit -> Preferences... -> Add-ons.

Further tools

HowTo 3: Create tree models from laser scanning point clouds

Option 1: AdTree (TU Delft)

Examples:

Option 2: TreeQSM

Option 3: SimpleForest

HowTo 4: Create scenes from OpenStreetMap

Option 1: Blender add-on Blosm

An extensive documentation of the add-on, available as a free base version or a premium version, can be found on the GitHub repository.

Option 2: OSM2World

1 Getting OpenStreetMap (OSM) data

  • Go to www.openstreetmap.org
  • Search for the desired place (e.g. Heidelberg)
  • Select Export (green top button)
  • Select Manually select a different area and define the region of interest
  • Select Export (blue button below the region's coordinates)
  • A file named map.osm will be downloaded to your computer

osm_export

2 Converting OSM data into a 3D model

  • Go to osm2world.org and download the latest build
    Alternatively, get the last version from the github repository
  • Run the executable (java -jar OSM2World.jar)
  • Then select File > Open OSM file and once loaded File > Export OBJ File
  • Alternatively, use the following command: java -jar OSM2World.jar -i map.osm -o map.obj
    This will generate the 3D model files map.obj and map.obj.mtl
  • For more instructions on how to use OSM2World, check the wiki page

2.1 (Optional) Adding terrain elevation

Note that OSM data lacks elevation data, so that the generated terrain will be flat. However, it is possible to use elevation data from the Shuttle Radar Topography Mission (SRTM) (see wiki.openstreetmap.org/wiki/SRTM). The process is as follows:

  • Create a OSM2World configuration file name config.properties with the following content:
    srtmDir = SRTM
  • Create a folder named SRTM in the OSM2World root folder
  • Run OSM2World using the configuration:
    java -jar OSM2World.jar -i map.osm -o map.obj --config config.properties
    This will display a message indicating what STRM files are needed:
    warning: missing SRTM tile N49E008.hgt
  • Download the missing SRTM files into the SRTM folder.
    Recommended source: SRTMGL1 from USGS EROS Center (requires account)
  • Rerun OSM2World:
    java -jar OSM2World.jar -i map.osm -o map.obj --config config.properties
Clone this wiki locally