Programming
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
CIGI Client Plugin
Rendering-Related Classes

Landscape Tool

Landscape Tool is used to create rectangular sized terrain areas according to provided geodata sources, but it cannot be used to create a whole planet. This tool helps to create up to 10000km x 10000km areas of the real world: it's enough to create a terrain of a big city or a country.

By using real world elevation and imagery data, Landscape Tool creates a terrain. Both imagery and elevation data are processed by using the GDAL - Geospatial Data Abstraction Library. It supports various raster formats with different map projections for input data.

RGB8 and RGBA8 formats for imagery and landcover data are supported. Alpha-channel in the second case is used to mark "no data" areas.

GIS data sources are used for generation of details and vegetation (raster data), roads, communications, buildings, landmarks, etc. (vector data). These data sources usually contain a lot of information. Tags represent a color (color range) or an attribute value (range of values) and are used to filter the data necessary for generation of certain landcover areas or objects of the cultural layer (roads, buildings, etc.). For example:

  • to generate grass for areas marked with certain colors of the landcover texture,
  • to generate only highways ignoring small roads using a road type attribute in a vector data file.
Notice
You can use QGIS, Global Mapper or other third-party software to determine which colors or attribute values from a GIS data source are to be used.

Landscape Tool supports multiple data layers aligned by geo-coordinates: you can easily create high-resolution insets by adding a high-detailed landscape area over a low-detailed one. The quality of generated terrain is determined by the density of the data sources used.

A flexible procedural refinement system, offered by the Landscape Tool, makes it possible to improve generated terrain using Houdini Digital Assets for more realistic visual representation.

Overview

The Landscape tool has 6 panels (Data Sources, Settings, Natural Layer, Cultural Layer, Preview and Parameters panels) and the Generate button.

  • In the Data Sources panel, you should specify the elevation and imagery sources for the terrain generation, as well as landcover, vector and procedural data sources for generation of details, vegetation, roads, communications, buildings, etc. if necessary.
  • Settings panel contains a bunch of generation settings: Files, Play Area, and Processing Priority.
  • Natural Layer panel contains settings for the elements that constitute the natural features of the landscape: Terrain LODs, Detail Masks and Vegetation.
  • Cultural Layer panel contains settings for cultural features of the landscape such as roads and communications, fences, pipes, etc.
  • In the Preview panel, you can specify the play area of the landscape generation. Preview panel depicts the world map in the equirectangular projection.
  • Parameters panel depicts parameters of the selected settings or information of the selected data source.

See Also

Creating a Terrain

To create a terrain perform the steps described in the chapters below.

1. Specifying Data Sources

Landscape tool creates the terrain based on the real geodata sources, hence you should specify the data sources before proceeding. All data sources are divided into five types (layers):

  • Elevation (optional) - this type of data is used to generate terrain geometry.
  • Imagery - this type of data is used to generate textures for the terrain surface.
  • Landcover (optional) - this type of data is used to generate natural features of the landscape (details, grass, trees, etc.).
  • Vector (optional) - this type of data is used to generate roads, communications, buildings, landmarks, etc.
  • Procedural (optional) - this type of data is used for procedural refinement.
Notice
It is recommended to use WGS84 "Geographic" projection (latitude/longitude) data sources to increase terrain generation speed up to 30%.

To add a new source, click the Add Source button. In the opened windows specify the following fields:

Layer The imagery, elevation, landcover, vector or procedural layer of the data source.
Name The name of the layer that will be displayed in the Data Sources panel.
Path The path to the data source file or folder. Select the corresponding type of the data source Add Files or Add Folder.

When you add the imagery, elevation, landcover, vector or procedural data sources to the Landscape tool, their areas will be highlighted on the Preview panel with corresponding colors: blue for elevation, green for imagery, red for landcover, yellow for vector and magenta for procedural. Area size of procedural sources is adjustable.

The minus sign button deletes selected data source.

2. Specifying Data Source Parameters

When you select a data source, you can see its parameters in the Parameters panel.

Elevation data source parameters are as shown below.

You can specify the following parameter:

Elevation scale The scale factor used for elevation data.

Imagery data source parameters are as shown below.

You can specify the following parameter:

No data color The color to be used for areas with no data available.

Landcover data source parameters are described here. This type of data source is optional and should be added when generation of terrain details or vegetation is needed.

Vector data source parameters are described here. This type of data source is optional and should be added when generation of roads, communications, buildings, landmarks, etc. is needed.

Procedural data source parameters are described here. This type of data source is optional and should be added when it is necessary to refine data from elevation, landcover or other procedural data sources.

Notice
You can specify processing order for all data sources except vector ones. This can be done either using the Processing order field of the data source, or via Processing Priority in the Settings panel.

3. Setting Up Natural Layer

At this step you can check out the parameters of Terrain LODs to be generated for all data layers (elevation, imagery, normal, and detail masks) and determine which natural features of the landscape are to be generated:

Notice
You may skip this step, if you don't need procedural generation of natural features of the landscape for your project.

4. Setting Up Cultural Layer

At this step you can determine which cultural features of the landscape are to be generated: roads, communications, fences, pipes, buildings, landmarks, etc.

Notice
You may skip this step, if you don't need procedural generation of cultural features of the landscape for your project.

Objects of this layer are divided into 3 groups depending on the type of vector data used for their generation:

  • Spline (Roads, Communications, etc.) - objects of this type are stretched or tiled along Bezier splines.

    Workflow: Generating Spline Objects.

  • Vector (Fences, Pipes, etc.) - objects of this type are generated and placed along vectors.

    Workflow: Generating Vector Objects.

  • Point (Buildings, Landmarks, etc.) - objects of this type are generated and placed at certain points.

    Workflow: Generating Point Objects.

5. Specifying Settings

Landscape tool generates a terrain according to the specified settings. Set the following parameters before starting terrain generation:

Files

Here you can specify the output path for your terrain data and cache parameters. When the Landscape tool faces a large amount of source data, it automatically cuts the data to small tiles and uses them as cache. The cache is used to speed up subsequent terrain re-generation.

Notice
  • Landscape tool doesn't clear the cache automatically, you should do it manually if necessary.
  • When clearing the cache remember, that next terrain re-generation will require more time.

Output path Output path for generated terrain files. By default, a new folder in your project's data folder will be created.
Cache path Path to cache files.
Max cache size (GB) Maximum size of cache files on the hard drive (in GB)
Cache size on disk (GB) Size of cache files on the hard drive (in Gb)
Clear cache Click this button to delete all cache for the current landscape asset.

Play Area

Play Area is a rectangular area of a landscape to be generated.

Play Area represents a gray outlined rectangular area in the Preview panel. Due to the equirectangular projection, it looks like a trapezium near the terrestrial poles.

Click on the Play Area settings. In the Parameters panel the available parameters for Play Area will appear:

You can specify the following parameters:

Center The central point coordinates of the Play Area.
Size (km) The size of the Play Area: width x height

Processing Priority

Here you can specify the order in which data sources will be processed. By default, data sources are processed in the order from the most detailed to the less detailed ones (e.g. a data source having the density of 3 meters/pixel will be processed before a data source having the density of 30 meters/pixel). But in some cases it might be necessary to change the order of processing for certain types of data sources. To do so, pefrorm the following actions:

  1. On the Parameters panel select a tab, corresponding to a group of data sources, for which the processing order is to be changed.
  2. For each item in the list of data sources displayed click a cell in the Order column and set the desired processing priority value.
    Notice
    A data source having the priority value of 2 will be processed before the one that has the priority value of 3.
  3. After setting new processing priorities for data sources click Apply.

Example

Let us consider an example of a case when you need to change default priority. Suppose You have the following data sources:

  • A coarse 100 m/px elevation data source Elev1.
  • A procedural data source Proc1 with the density of 10 m/px which refines the data from Elev1.
  • A procedural data source Proc2 with the same density of 10 m/px which operates with the data refined by Proc1.

So, the expected data flow diagram would be: Elev1 -> Proc1 -> Proc2.

But generally, as both procedural data sources have the same density, default prioritization may result in the following data flow diagram: Elev1 -> Proc2 -> Proc1.

Which definitely is not the same. This situation can be avoided by setting the priority of the Proc1 source equal to 2 (as the default priority value for Houdini assets is 1).

Generating a Terrain

After specifying all necessary settings, you can generate the terrain by clicking the Generate button.

In the Generation Steps window that appears you can select what is to be generated.

Notice
You can modify these options each time you need to re-generate specific part of the terrain data, saving the time required for regeneration of the whole terrain.

Generate all The whole terrain with landcover and vector objects will be generated. This option is selected by default.
Terrain Only terrain will be generated. Here you can select parts of terrain data used for generation (Elevation, Imagery, Details)
Landcover objects Only landcover objects will be generated.
Vector objects Only vector objects will be generated.
Curved The flag indicating if the generated terrain should be curved (WGS-84 ellipsoid datum).
Notice
Landscape tool uses WGS-84 ellipsoid by default. After terrain generation, you can specify the Geodetic Pivot object's settings and choose another ellipsoid reference (including custom).
Imagery previews The flag indicating if imagery previews are to be generated and placed at the corresponding location on the map displayed on the Preview panel. Thus, you can mark areas of the global map for which the terrain was generated.

Landscape tool stores the source data with specified parameters as assets. Therefore, after clicking on OK in the Generation Steps window, you will see the window for saving the asset. Specify the name and the path for an asset and click Save.

The generation status window will appear.

After successful generation process, the Landscape tool may offer your world settings optimizations. We recommend you to apply them, however, you can ignore.

If you open the Nodes window, you can see that the Landscape tool created the following instances:

  • The landscape_geodetic_pivot Geodetic Pivot object for curving the terrain according to WGS-84 ellipsoid.
    Notice
    This object will be generated only when Curved option is selected in the Generation Steps window
  • TerrainGlobal Landscape object.
  • Beacons - NodeDummy objects generated for all elevation sources in the Play Area. These beacons can be used to quickly move to certain terrain location.
  • The Landscape Camera camera object which is placed in the center point of the terrain with specified all the necessary parameters (far and near clipping planes).
Notice
The coordinate system for generated terrain is Cartesian ENU (east-north-up) with the origin taken from the play area center in Landscape tool. If you're using Global Mapper, current projection can be objtained using orthographic projection, datum 84, and CENTRAL_LONGITUDE / LATITUDE parameters set equal to your play area center.

Generating Detail Masks

Detail masks are generated on the basis of landcover data available. The basic workflow is as follows:

1. Adding a Landcover Data Source and Specifying Tags

First we should add a new landcover data source to be used for generation. If necessary landcover data source is already added, you may skip to step 3.

  1. Open the Landscape Tool window, for this purpose on the Menu bar, click Windows -> Landscape.

  2. In the Data Sources panel, add necessary landcover data sources (see Specifying Data Sources section).

    Notice
    R8 and RGB8 mask textures are supported.
  3. Select each landcover data source from the ones you added in the Data Sources panel and specify parameters in the Parameters panel.

  4. Add tags for each type of detail mask you are going to generate by clicking Add button at the bottom of the Parameters panel and specifying a tag name. To remove a tag use Remove button.

    Notice
    You can't add tags named "height" and "mask" as these names are reserved for procedural refinement.
  5. For each tag you can specify a set of filters (OR) to select certain data from the landcover data source. You can add as many filters as necessary. This can be done as follows depending on the type of the landcover data source:

    • For an R8 texture data source - by setting the range of bits (from value, to value) to be treated as a certain detail mask.
    • For an RGB8 texture data source - by selecting a base color and setting threshold value for a color gradient to be treated as a certain detail mask.
    Notice
    Use "+" (plus) button to add a filter, or "-" (minus) to remove one.
    1-channel R8 texture. 3-channel RGB8 texture.
  6. Now all necessary tags and filters are added and you can proceed to the next step.

2. Adding Detail Masks

Now, we must determine which tags are to be used to generate detail masks.

  1. In the Natural Layer panel, select Detail Masks and the list of tags determined for all landcover data sources will be displayed in the Parameters panel.

  2. Check the tags you added at the previous step to be used for generation of detail masks.

  3. Now all necessary detail masks are specified and bound to tags.

    Notice

    If the terrain is already generated and you want to add only detail masks - proceed to Step 3.

    Otherwise - return back to setting other parameters of terrain generation.

3. Generating Detail Masks

Now you can generate detail masks by clicking Generate button and selecting Terrain -> Details option in the Generation Steps window, in this case only detail masks will be generated.

Generating Vegetation

Vegetation is generated on the basis of landcover data available. The basic workflow is as follows:

1. Preparing a Basic Object

First, we create a basic object that will be used as a building block for generation of vegetation (e.g., grass, trees etc.). The following types of basic objects are supported:

  1. Create a basic object of the desired type.

  2. Specify parameters of the basic object.

    Notice
    Intersections with parent object must be enabled for all types of basic objects! The intersection flag can be found on the tab of the Nodes window corresponding to the type of the object.

  3. Inherit a material, set all necessary textures and parameters and assign it to the basic object.

  4. Export your mesh to a node file (e.g. grass.node) by clicking the following button in the Nodes window. And delete the node.

  5. Now our basic object for grass (grass.node) is ready to use and you can delete it from the scene.

2. Adding a Landcover Data Source and Specifying Tags

Now, we add a landcover data source to be used for generation. If the data source is already added, you may skip to step 3.

  1. Open the Landscape Tool window, for this purpose on the Menu bar, click Windows -> Landscape.

  2. In the Data Sources panel, add necessary landcover data sources (see Specifying Data Sources section).

    Notice
    R8 and RGB8 mask textures are supported.
  3. Select each landcover data source from the ones you added in the Data Sources panel and specify parameters in the Parameters panel.

  4. Add tags for each type of landcover objects you are going to generate by clicking Add button at the bottom of the Parameters panel and specifying a tag name. To remove a tag use Remove button.

    Notice
    You can't add tags named "height" and "mask" as these names are reserved for procedural refinement.
  5. For each tag you can specify a set of filters (OR) to select certain data from the landcover data source. You can add as many filters as necessary. This can be done as follows depending on the type of the landcover data source:

    • For an R8 texture data source - by setting the range of bits (from value, to value) to be treated as a certain type of vegetation.
    • For an RGB8 texture data source - by selecting a base color and setting threshold value for a color gradient to be treated as a certain type of vegetation.
    Notice
    Use "+" (plus) button to add a filter, or "-" (minus) to remove one.
    1-channel R8 texture. 3-channel RGB8 texture.
  6. Now all necessary tags and filters are added and you can proceed to the next step.

3. Specifying Vegetation Parameters

Now, we must specify basic objects created at the first step and bind them to the tags.

  1. In the Natural Layer panel, select Vegetation and the following settings will be displayed in the Parameters panel.

  2. Add a basic object for generation by clicking Add button and specify object's type and name. You can add as many objects as nesessary.

  3. For each basic object specify the following parameters:

    Node The path to the basic mesh object's *.node file.
    Tag The tag for the selected landcover object from the list of tags specified at the second step.
  4. Now all necessary basic objects are specified and bound to tags.

    Notice

    If the terrain is already generated and you want to add only vegetation - proceed to Step 4.

    Otherwise - return back to setting other parameters of terrain generation.

4. Generating Vegetation

Now you can generate vegetation by clicking Generate button and selecting Landcover objects option in the Generation Steps window, in this case only vector objects will be generated.

Here is a terrain fragment with grass generated on the basis of landcover data using the basic grass object created.

Generating Spline Objects

Spline object represents a basic mesh, tiled or extruded along the segments of a Bezier spline graph, built on the basis of vector data available. As an example of spline object generation let us consider generation of a road network. The basic workflow is as follows:

1. Preparing a Basic Mesh

First, we create a MeshStatic object, that will be used as a building block for generation of roads.

Notice
The MeshStatic object must be located and have a pivot at the origin (0, 0, 0).
  1. Create a mesh (we use a plane for the road), for this purpose on the Menu bar, click Create -> Primitive -> Plane.

  2. Specify mesh parameters, for our road we set the following.

    Notice
    It is recommended to use more than a single segment to make road curves smoother.
  3. Move the mesh to the origin.

  4. Inherit a material from the mesh_base, set all necessary textures and parameters and assign it to the mesh.

  5. As it was mentioned spline objects are generated by means of extrusion or tiling of the basic mesh along one of the axes X, Y or Z (forward axis). Make sure that you mesh is oriented properly - in this case the forward axis is X (red arrow).

  6. Geometry is very resource consuming. Thus, to maintain acceptable performance you should set up LODs for the basic mesh. For each surface of the mesh specify visibility and fade distances. These settings will be used for managing LODs of generated spline objects.

    For more information on LOD settings see Setting Up Object LODs.

  7. Export your mesh to a mesh file by clicking the following button in the Nodes window. And delete the node.

  8. Create a MeshStatic object using the mesh and material you prepared. Move the mesh to the origin and export your mesh to a node file (e.g. road.node) by clicking the following button in the Nodes window.

  9. Now our basic mesh for roads (road.node) is ready to use and you can delete it from the scene.

2. Adding a Vector Data Source and Specifying Tags

Now, we add a vector data source to be used for generation.

  1. Open the Landscape Tool window, for this purpose on the Menu bar, click Windows -> Landscape.

  2. In the Data Sources panel, specify necessary vector data sources (see Specifying Data Sources section).

    Notice
    Currently only *.shp files are supported.
  3. Select each vector data source from the ones you added in the Data Sources panel and specify parameters in the Parameters panel.

  4. Add tags for each type of spline objects you are going to generate by clicking Add and specifying a tag name.

  5. For each tag you can specify a set of filters (AND) to select certain data from the vector source. You can add as many filters as necessary. This can be done by selecting attributes from the list and specifying necessary values for each attribute. You can specify as many filters as you need.

    Notice

    Use "+" (plus) button to add a filter, or "-" (minus) to remove one.

    If no filters are specified, all the data from the vector source will be used for generation.

  6. Now all necessary tags and filters are added and you can proceed to the next step.

3. Specifying Parameters of Spline Objects

Now, we must specify basic objects created at the first step and bind them to the tags.

  1. In the Cultural Layer panel, select Spline (Roads, Communications, etc.) and the following settings will be displayed in the Parameters panel.

  2. Add a basic mesh object for generation by clicking Add button at the top of the Parameters panel and specify object's name. You can add as many objects as nesessary.

  3. For each basic object specify the following parameters:

    Tag The tag to be used for the selected basic object from the list of the tags specified at the second step.
    Node The path to the basic mesh object's *.node file.
    Type Type of objects to be generated. One of the following:
    • Geometry - a static mesh will be generated. Static meshes may require additional alignment with terrain surface, they are costly in terms of performance, but they offer collision detection. This option can be used for example to generate a railway track for the train simulator.
    • Decal - a mesh decal will be generated. Decals do not have problems associated with alignment with the terrain surface, as they are projected onto it. They are also performance friendly, but collision detection for decals is not available. This option can be used for example to generate roads for a flight simulator.
    • Both - both a static mesh and a mesh decal will be generated. This option can be used to generate static meshes that will be visible within a close distance range (according to LOD settings of the basic mesh) and decals for a long-distance range.
    Collider Flag indicating if collisions for the generated object are to be detected.
    Notice
    Available only for geometry type.
    Drop to ground Flag indicating if the generated object will be aligned with the terrain surface.
    Height offset Distance from the terrain surface along the Z-axis, in units.
    Notice
    If you see the generated object partially, You can try to increase this value to lift it above the terrain surface.
    Decal texture height Resolution of baked texture for decals.
    Notice
    Available only for decal type.
    Split segments Flag indicating if segment splitting mode is enabled. In this mode all spline segments will be divided into subsegments of the specified length (if this length does not exceed the length of the segment itself).
    Notice
    This parameter can be used to provide better alignment of spline objects with the terrain.
    Split segment length Length of the segment for splitting mode, in units.
    Notice
    The lower the value the more segments will be generated. Setting too low values may significantly reduce performance.
    Forward axis Axis along which the basic mesh is to be extruded or tiled.
    Mode One of the following:
    • stretch - in this case the basic mesh will be extruded along spline segments.
    • tiling - in this case the basic mesh will be tiled along spline segments.
    Notice
    If the stretch mode is selected the number of meshes in the generated object is significantly lower which makes it more performance friendly.
  4. Now all necessary basic objects are specified and bound to tags.

    Notice

    If the terrain is already generated and you want to add only spline objects - proceed to Step 4.

    Otherwise - return back to setting other parameters of terrain generation.

4. Generating Spline Objects

Now you can generate spline objects by clicking Generate button and selecting Vector objects option in the Generation Steps window, in this case only vector objects will be generated.

Here is a terrain fragment with roads generated on the basis of vector data using the basic mesh object we created.

Generating Vector Objects

Fences, pipes and other such objects are placed along line segments selected from vector data sources (*.shp files). The basic workflow is as follows:

1. Preparing a Basic Object

First, we create a basic object, that will be used as a building block for generation - any *.node file containing a single root-node with any hierarchy.

Notice
The basic object must be located and have a pivot at the origin (0, 0, 0).

2. Adding a Vector Data Source and Specifying Tags

3. Specifying Parameters of Vector Objects

Now, we must add basic objects created at the first step and bind them to the tags created at the second step.

  1. In the Cultural Layer panel, select Vector (Fences, Pipelines, etc.) and the following settings will be displayed in the Parameters panel.

  2. Add a basic object for generation by clicking Add button at the top of the Parameters panel and specify object's name. You can add as many objects as nesessary.

  3. For each basic object specify the following parameters:

    Tag The tag to be used for the selected basic object from the list of the tags specified at the second step.
    Node The path to the basic object's *.node file.
    Autosize Enables or disables autosize mode for node placement. When this mode is enabled, basic objects are placed with zero-spacing so that bounding boxes of the first and the last basic objects are aligned with start and end points of the line segment respectively.

    Fit to size Enables stretching/shrinking of basic objects so that they are placed along line segments without spaces between them.
    Notice
    Available only when autosize mode is disabled.
    Step Distance between two adjacent basic objects, in units.
    Notice
    Available only when autosize mode is disabled.
    Start offset Offset of the first basic object's pivot from the start point of the line segment, in units.
    Notice
    Available only when autosize mode is disabled.
    End offset Offset of the last basic object's pivot from the end point of the line segment, in units.
    Notice
    Available only when autosize mode is disabled.
    Collider Flag indicating if collisions for the generated object are to be detected.
    Notice
    Available only for geometry type.
    Drop to ground Flag indicating if the generated object will be aligned with the terrain surface.
    Height offset Distance from the terrain surface along the Z-axis, in units.
    Notice
    If you see the generated object partially, You can try to increase this value to lift it above the terrain surface.
    Forward axis Axis along which the basic object is to be tiled: X, -X, Y, -Y.
  4. Now all necessary basic objects are specified and bound to tags.

    Notice

    If the terrain is already generated and you want to add only vector objects - proceed to Step 4.

    Otherwise - return back to setting other parameters of terrain generation.

4. Generating Vector Objects

Now you can generate vector objects by clicking Generate button and selecting Vector objects option in the Generation Steps window, in this case only vector objects will be generated.

Generating Point Objects

Houses, landmarks and other such objects are placed at certain points of the terrain. There are 2 shape types that can be selected from vector data sources (*.shp files) and used for point object placement:

  • Point - in this case the basic object will be placed at the position specified by the point and will be oriented the same way as when it was saved to a *.node file.
  • Line - in this case the basic object will be placed at the position specified by the first point, while the second point determines orientation of object's forward direction vector (positive Y).
The basic workflow is as follows:

1. Preparing a Basic Object

First, we create a basic object, that will be used as a building block for generation - any *.node file containing a single root-node with any hierarchy.

Notice
The basic object must be located and have a pivot at the origin (0, 0, 0).

2. Adding a Vector Data Source and Specifying Tags

3. Specifying Parameters of Point Objects

Now, we must add basic objects created at the first step and bind them to the tags created at the second step.

  1. In the Cultural Layer panel, select Point (Buildings, Landmarks, etc.) and the following settings will be displayed in the Parameters panel.

  2. Add a basic object for generation by clicking Add button at the top of the Parameters panel and specify object's name. You can add as many objects as nesessary.

  3. For each basic object specify the following parameters:

    Tag The tag to be used for the selected basic object from the list of the tags specified at the second step.
    Node The path to the basic object's *.node file.
    Collider Flag indicating if collisions for the generated object are to be detected.
    Notice
    Available only for geometry type.
    Drop to ground Flag indicating if the generated object will be aligned with the terrain surface.
    Height offset Distance from the terrain surface along the Z-axis, in units.
    Notice
    If you see the generated object partially, You can try to increase this value to lift it above the terrain surface.
  4. Now all necessary basic objects are specified and bound to tags.

    Notice

    If the terrain is already generated and you want to add only vector objects - proceed to Step 4.

    Otherwise - return back to setting other parameters of terrain generation.

4. Generating Point Objects

Now you can generate vector objects by clicking Generate button and selecting Vector objects option in the Generation Steps window, in this case only vector objects will be generated.

Here is a terrain fragment with houses generated on the basis of vector data using the basic mesh object we created.

Procedural Refinement

Procedural refinement system, makes it possible to improve the quality of generated terrain using Houdini Digital Assets. Procedural refinement can be used for:

  • height data correction (erosion, riverbeds, etc.)
  • landcover masks improvement (smoothing, etc.)
  • generation of high-resolution detail masks
Notice

In order to use procedural refinement Houdini Engine version 16.0.600 or higher must be installed on your computer. You can download and install it by clicking here.

Please note, that trial version does not allow to use Houdini assets in the Landscape Tool.

Windows: After installing Houdini you should add Houdini binary location to the PATH environment variable.

Linux: After installing Houdini you should add location of the libHAPIL.so (e.g., /opt/hfs16.0/dsolib) to the LD_LIBRARY_PATH environment variable.

A procedural data source is assigned with a Houdini digital asset (*.hda file) and can be used to refine data from elevation and landcover data sources. It can also be used to refine the data produced by another procedural data source. The area for which refinement is to be performed is determined by an adjustable bounding rectangle, which can be manually placed inside the Play Area on the Preview panel.

Notice
Due to the equirectangular projection, it looks like a trapezium near the terrestrial poles.

There are two procedural refinement workflows:

  • Basic workflow (described below): you have a Houdini digital asset (a set of assets) included in the Unigine SDK that performs all necessary data refinement.
  • Custom workflow: there is no Houdini digital asset available to perform necessary refinement. In this case you have to create a new houdini digital asset.

The basic workflow is as follows (assuming necessary elevation and landcover data sources are added, see Specifying Data Sources section).

  1. In the Data Sources panel, add a procedural data source.

  2. Select a procedural data source you added in the Data Sources panel and adjust its bounding rectangle on the Preview panel (to indicate the area, for procedural refinement).

  3. Specify the following data source parameters in the Parameters panel.

    Density The density of the procedural data source, in meters per pixel. A procedural data source grabs the data for the Houdini asset from underlying data sources with the set density value (upsampling is performed if necessary).
    Asset path The path to the Houdini digital asset (*.hda file) that performs data refinement.
    Processing order Priority of the data source in the whole generation process.
    Notice
    For more information see the Processing Priority section.
    Houdini parameters The list of parameters required by the selected Houdini digital asset (if any). These parameters are specified when the digital asset is created and are used to pass certain numerical values or tags from the Landscape Tool to configure refinement procedure (e.g. you can specify landcover tags to be treated by the Houdini asset as rivers for elevation adjustment).
    Notice
    Currently supported types include float, integer, dropdown list.
    Landcover tags The list of tags of all underlying landcover data sources. If the bounding rectangle of the procedural data source covers (completely or partially) a landcover data source, all tags of the latter will be added to this list.
    Notice
    A Houdini asset can generate its own landcover tags on the basis of input data. To add these tags to the list of available landcover tags use Update landcover tags button.
  4. You can add as many procedural data sources as necessary.

Last update: 2017-10-20