Arma 3 Scripting

Terrain Processor: Area: High-density Cluster

Topic · Markdown · JSON · original wiki page

Task details

Task name : Area: Hight-density Cluster

Dll plugin name : BITasksPlugin.dll

Geometry type : Polygon, PolygonM, PolygonZ

Heightmap : No

Description

Random placement of multiple objects inside the polygons specified in the given shapefile. First step is to create lifegrid. Lifegrid is 2D table where every cell has information about its Object prototype. Algorithm puts some first seeds. Counts and types of seeds depends on input parameters. Ideal for high density areas like forest. See Example below.

Task parameters

Object prototype parameters

Usage

Use for areas with high objects density, where particular object types tend to aggregate in groups, e.g. in mixed forests.

Algorithm

For each shape (areal) do:

  1. Create and populate "lifegrid"
    1. Find shape bounding.
    2. Create empty "lifegrid" for this area.
    3. Generate base seeds (for each object prototype)
      1. seeds_count = HECTARES * CDENSHA
      2. Randomly generate seeds_count in shape and set this grid item prototype.
  2. instances_count = HECTARES * DENSHA
  3. For instances_count try to find position:
    1. Random position in bounding box.
    2. If position is not inside shape, restart
    3. If minimal distance to other objects is not ok, restart
    4. Find object prototype - random grid item in radius 50 metres. This grid item has information about object prototype.

If this loop has no new output for the last 100 attempts, area is considered full and iteration of this shape will end.

Example

Example with 85% spruce, 10% pine, 5% larch

Preview
Fragmentation 1 2 5
Spruce seeds count 17 34 85
Pine seeds count 2 4 10
Larch seeds count 1 2 5