Terrain Processor: Area: Low-density Cluster (strip): Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(Undo revision 91491 by Tom 48 97 (talk))
No edit summary
Line 3: Line 3:
|DESCRIPTION=Algorithm used for populating low-density areas. Objects are organized in linear clusters.
|DESCRIPTION=Algorithm used for populating low-density areas. Objects are organized in linear clusters.
|TASKPARAMETERS=* '''RANDOM SEED''' - number used to initialize pseudorandom number generator.
|TASKPARAMETERS=* '''RANDOM SEED''' - number used to initialize pseudorandom number generator.
* '''HECTARES''' - area size in hectares (individual for each shape).
* '''CDENSHA''' - The density of the filling in number of clusters for hectare.
* '''CDENSHA''' - The density of the filling in number of clusters for hectare.
|OBJECTPROTOTYPEPARAMETERS=* '''OBJECT''' - Object's prototype name
|OBJECTPROTOTYPEPARAMETERS=* '''OBJECT''' - Object's prototype name

Revision as of 12:14, 24 August 2015

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.
  • CDENSHA - The density of the filling in number of clusters for hectare.

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