Orrery Terrain · OrreryTerrainRenderer module · struct
FTerrainGrassRenderSettings
ExperimentalWhat a grass component needs from one FGrassVariety, resolved for the current quality level.
Declaration
struct FTerrainGrassRenderSettings- Header
#include "Grass/TerrainGrassVarieties.h"- Module
PublicDependencyModuleNames.Add("OrreryTerrainRenderer");in your module’s Build.cs.- Stability
- Experimental: supported, may change in a minor version, with a changelog line.
- Thread
- Game thread.
Description
Holds strong engine pointers in a plain struct (no UPROPERTY): the owner must report them to the GC, see AddGrassVarietyReferences. Distances are cm; 0 disables a cull distance, as in FGrassVariety.
Game thread.
Properties
| Name | Type | Default | Meaning |
|---|---|---|---|
Mesh | TObject | — | The variety's mesh; never null in a built entry. |
Override | TArray< | — | Per-slot overrides; entries may be null. |
Start | int32 | 0 | FGrassVariety::GetStartCullDistance(), cm. |
End | int32 | 0 | FGrassVariety::GetEndCullDistance(), cm; 0: never culled (built on every resident chunk). |
Min | int32 | -1 | -1: the mesh's own MinLOD. |
Lighting | FLighting | — | — |
b | bool | true | — |
b | bool | true | — |
b | bool | true | — |
b | bool | false | The variety's flag, and only with uniform scaling: mesh distance fields do not support non-uniform instance scale. |
Shadow | EShadow | EShadow | — |
Instance | uint32 | 0 | cm; 0: never. |
b | bool | false | — |
b | bool | true | The grass type's flag: grass.densityScale and r.OrreryTerrain.Grass.DensityScale apply. |
Mesh | FBox | FBox(Force | The cluster tree's instance box, local cm: the mesh's bounds (UStaticMesh::GetBounds, its bounds extensions included) grown by the largest GetMaxWorldPositionOffsetDisplacement() of the materials it draws with, so culling covers the WPO reach. A WPO material that sets no maximum displacement is not covered: give it one, or a bounds extension. |
Max | int32 | 16 | Instances per cluster-tree leaf, from the mesh's LOD 0 vertex count (foliage.MinVertsToSplitNode / verts, 1..1024). |