Skip to content
Brass Orrery

Orrery Terrain · OrreryTerrainCore module · struct

Native::

FScatterAutoRule

Experimental

One auto rule of the layer set, as the material reads it (MF_TerrainLayers, AutoRule{i}_Slope, _Altitude, _Noise).

Declaration

struct FScatterAutoRule
Header
#include "Native/TerrainScatter.h"
Module
PublicDependencyModuleNames.Add("OrreryTerrainCore"); in your module’s Build.cs.
Stability
Experimental: supported, may change in a minor version, with a changelog line.
Thread
Tier 1: plain C++, no allocation, deterministic in canonical order (ascending candidate index), any thread. (the header’s rule)

Description

It claims a share of layer 0's weight (the unpainted "auto ground") for Layer inside a slope band and an altitude band, each with a smoothstep fade, jittered and patched by one of two value-noise fields.

Properties

NameTypeDefaultMeaning
SlopeLoDegfloat0.f

AutoRule{i}_Slope.x, degrees.

SlopeHiDegfloat90.f

AutoRule{i}_Slope.y, degrees.

SlopeFadeDegfloat1.f

AutoRule{i}_Slope.z, degrees.

Layerint32_t0

AutoRule{i}_Slope.w: the paint layer the rule shows.

AltLoMfloat-1.0e4f

AutoRule{i}_Altitude.x, metres (world Z plus the altitude offset).

AltHiMfloat1.0e4f

AutoRule{i}_Altitude.y, metres.

AltFadeMfloat1.f

AutoRule{i}_Altitude.z, metres.

Coveragefloat1.f

AutoRule{i}_Altitude.w, 0..1: 1 = everywhere in the bands.

JitterSlopeDegfloat0.f

AutoRule{i}_Noise.x, degrees.

JitterAltMfloat0.f

AutoRule{i}_Noise.y, metres.

Fielduint32_t0

AutoRule{i}_Noise.z: noise field 0 or 1, +2 inverts it.