Terrain Processor: Area: Low-density Cluster (strip)

From Bohemia Interactive Community
Revision as of 12:13, 24 August 2015 by Tom 48 97 (talk | contribs)
Jump to navigation Jump to search

Task details

Task name : Area: Low-density Cluster (strip)

Dll plugin name : BITasksPlugin.dll

Geometry type : Polygon, PolygonM, PolygonZ

Heightmap : No

Description

Algorithm used for populating low-density areas. Objects are organized in linear clusters.

Task parameters

  • RANDOM SEED - number used to initialize pseudorandom number generator.
  • HECTARES DENSITY - density of the filling, in number of objects for hectare. For example 100 objects per hectare means an average distance of 10 meters between each object.
  • CDENSHA - The density of the filling in number of clusters for hectare.
  • Blend distance - distance to get object prototype.

Object prototype parameters

  • OBJECT - Object's prototype name
  • MINHEIGHT - Minimal size in %
  • MAXHEIGHT - Maximal size in %
  • MINDIST - Minimal distance in meters
  • GROUPID - Cluster group id
  • MINCOUNT - Minimal count of objects in one cluster
  • MAXCOUNT - Maximal count of objects in one cluster

Usage

Similar to the "Area: Low-density Cluster (circle)", creates prolonged clusters of given width. Perfect for small tree groups, or for adding lines of undergrowth into forests.

Algorithm

For each shape (areal) do :

  1. clusters_count = HECTARES * CDENSHA
  2. For clusters_count :
    1. Get random prototypes group.
    2. Find position inside shape = cluster_center.
    3. For each object prototype do :
      1. prototypes_count = random MINCOUNT - MAXCOUNT
      2. For prototypes_count :
        1. Get random direction_vector with random length (0 - MAXCRADIUS) from cluster_center.
        2. If position = cluster_center + direction_vector id inside shape and condition MINDIST[n] is ok, then 3. else 1.
        3. Create new instance for object prototype in position.

Sample

TerrainProcessor LinearClusterSettings.png

TerrainProcessor LinearCluster.png