Data Structures
HexaPattern
Enum defining the grid placement type.
| Name | Description |
|---|---|
| SQUARE | Regular square grid |
| HEXAGONE | Flat-top hexagonal grid with axial coordinates (q, r) |
ZPositionCalculate
Enum defining the algorithm for computing a mesh’s Z position.
| Name | Description |
|---|---|
| SINGLE_POINT | Z computed at the mesh center only |
| FOUR_POINT | Z = minimum of the 4 bounding box corners (rotation taken into account) |
| HEIGHT_POINT | Z = minimum of 8 points (4 corners + 4 edge midpoints) |
FCMeshStruct
Configuration structure for an individual mesh (DataTable row).
| Name | Description |
|---|---|
| description | Text description of the mesh |
| mesh | Reference to the UStaticMesh |
| zAlgo | Z calculation algorithm (ZPositionCalculate) |
| percentBelowFloor | Percentage of the mesh sunk below ground (default 10.0) |
FCMeshProbaStruct
Probabilistic mesh selection structure.
| Name | Description |
|---|---|
| meshProbaRHArray | FDataTableRowHandle pointing to a FCMeshStruct row |
| meshSelectLowerBound | Selection lower bound (default 0.0) |
| meshSelectUpperBound | Selection upper bound (default 2.0) |
FCHexaMakerStruct
Main configuration structure for a placement layer (DataTable row). Each layer is independent and has its own parameters.
| Name | Description |
|---|---|
| description | Text description of the layer |
| enable | Enables/disables this layer |
| biomeSelectLowerBound | Biome noise filter lower bound |
| biomeSelectUpperBound | Biome noise filter upper bound (0=0 disables the filter) |
| onlyForRoomTag | Allowed room tags (empty = all) |
| meshProbaRHArray | Array of FCMeshProbaStruct for probabilistic selection |
| shadowBehavior | Shadow configuration (FCShadowDefinition) |
| pattern | Grid type: SQUARE or HEXAGONE |
| tileSize | Cell size in world units (default 150) |
| nbHexaAround | Number of cells around the player (generation radius) |
| alignToSlope | Aligns mesh rotation to terrain slope |
| rotate | Random Y rotation [0°, 360°] |
| minJitterForce | Minimum dispersion force (ratio of tileSize) |
| maxJitterForce | Maximum dispersion force (ratio of tileSize) |
| minScalePercent | Minimum scale (default 0.5) |
| maxScalePercent | Maximum scale (default 2.0) |
| cullDistanceStart | Fade start distance (requires material support) |
| cullDistanceEnd | Full disappearance distance |
| withBound | Enables altitude filtering |
| above | Minimum allowed altitude |
| below | Maximum allowed altitude |
| withNormal | Enables slope filtering |
| zMinNornal | Minimum slope (0=vertical, 0.5=45°, 1=horizontal) |
| zMaxNornal | Maximum slope |
| collision | Enables collisions on ISMs |
| explicitRemove | If true, old ISMs are explicitly unregistered |
| roomType | Zone type: UNSET, ROOM, CORRIDOR, WALL |
| meshSelectRateDistanceToEdgeLowerBound | Lower bound distance to corridor edge (if CORRIDOR) |
| meshSelectRateDistanceToEdgeUpperBound | Upper bound distance to corridor edge (if CORRIDOR) |
| meshSelectRateDistanceToRoomLowerBound | Lower bound distance to room center (if ROOM) |
| meshSelectRateDistanceToRoomUpperBound | Upper bound distance to room center (if ROOM) |
FCHexaSpawnerDataStruct
DataTable structure combining multiple placement layers.
| Name | Description |
|---|---|
| hexaMakerRHArray | Array of FDataTableRowHandle pointing to FCHexaMakerStruct rows |