Orbdale Terrain · module
OrbdaleTerrainEditor
Editor onlyAn editor module: it is in the editor and in editor builds, never in a packaged game. 33 public headers.
- Build.cs
PublicDependencyModuleNames.Add("OrbdaleTerrainEditor");- Type
- Editor
Authoring/OrbdaleTerrainBake.h
The bake: folds a terrain actor's authoring layer (sculpt, paint, ground class and the editor's features) into a new tile store, re-points the actor at it and empties the authoring layer, so the map cooks.
#include "Authoring/OrbdaleTerrainBake.h"
- FOrbdaleTerrainBakeOptions struct
How
UOrbdaleTerrainBake::BakeAuthoringbakes. - FOrbdaleTerrainBakeReport struct
What a bake did, or why it refused.
- UOrbdaleTerrainBake class
Bakes a terrain's authoring layer into a new tile store.
Authoring/OrbdaleTerrainBakeCommandlet.h
The bake as a commandlet: bakes the terrain authoring layers of maps from the command line, or checks that none is left, for release pipelines.
#include "Authoring/OrbdaleTerrainBakeCommandlet.h"
- UOrbdaleTerrainBakeCommandlet class
UnrealEditor-Cmd <project> -run=OrbdaleTerrainBake -Map=<maps> [-Check] [-MaxResidentTiles=N] [-Workers=N]
Factories/OrbdaleTerrainFactories.h
ExperimentalThe Content Browser's ways to make a terrain source: a GeoTIFF dropped into the browser, and a heightmap picked from the Add menu.
#include "Factories/OrbdaleTerrainFactories.h"
- UOrbdaleTerrainHeightmapImportSettings class
What the heightmap import asks when the heightmap has no sidecar to say it: the scale and the extent (Tier 3, editor only).
- UOrbdaleTerrainGeoTiffImportSettings class
What the GeoTIFF import asks: how much to thin, and the placement a file without georeferencing lacks (Tier 3, editor only).
- UOrbdaleTerrainHeightmapFactory class
Create a terrain tile store from a 16-bit PNG or RAW16 heightmap, picked from the Content Browser's Add menu.
- UOrbdaleTerrainGeoTiffFactory class
Import a GeoTIFF DEM dropped into the Content Browser as a terrain tile store.
Follow/OrbdaleTerrainEditorFollow.h
Placed foliage, tagged instanced meshes and ground-follow actors follow the terrain mode's edits in an editor world, inside each edit's undo step.
#include "Follow/OrbdaleTerrainEditorFollow.h"
- FOrbdaleTerrainFollowEdit struct
The ground an editor edit started from, which the follow measures every instance against.
- FOrbdaleTerrainEditorFollowStats struct
What the follow of the last editor edit did: for the tests, the captures and the cost measurement.
- UOrbdaleTerrainEditorFollowSubsystem class
Makes placed foliage, instanced meshes tagged
OrbdaleTerrain.Followand actors with a Terrain Ground Follow component follow the terrain mode's edits in an editor world (UOrbdaleTerrainFollowSubsystemcovers game and PIE worlds).
Mode/OrbdaleTerrainEdExtensionV1.h
Version 1 of the terrain editor mode's extension contract.
#include "Mode/OrbdaleTerrainEdExtensionV1.h"
- FOrbdaleTerrainBrushDab struct
One brush dab handed to a brush target, in world space.
- IOrbdaleTerrainBrushTarget class
What a brush edits.
- FOrbdaleTerrainEdToolDesc struct
A tool the mode lists in a palette.
- FOrbdaleTerrainEdActionDesc struct
An action (a button that runs code rather than starting a tool): Bake, New, a climate spin-up.
- EOrbdaleTerrainEdLayerKind enum
What a layer in the layer panel is.
- FOrbdaleTerrainEdLayerDesc struct
A row in the layer panel, listed in composition order.
- IOrbdaleTerrainEdExtensionV1 class
What an extension returns.
Mode/OrbdaleTerrainEdExtensionV2.h
ExperimentalVersion 2 of the terrain editor mode's extension contract: brush targets that receive the brush mask.
#include "Mode/OrbdaleTerrainEdExtensionV2.h"
- FOrbdaleTerrainBrushDabV2 struct
One brush dab handed to a V2 brush target, in world space: the V1 fields, plus the brush mask and how the kernel places it.
- IOrbdaleTerrainBrushTargetV2 class
What a V2 brush target edits:
IOrbdaleTerrainBrushTargetwith dabs that carry the mask. - IOrbdaleTerrainEdExtensionV2 class
What a V2 extension returns.
Mode/OrbdaleTerrainEdMode.h
The terrain editor mode: a UEdMode on the Interactive Tools Framework whose palettes, tools and actions all come from FOrbdaleTerrainEdRegistry.
#include "Mode/OrbdaleTerrainEdMode.h"
- UOrbdaleTerrainEdMode class
Editor mode "Terrain (Orbdale)".
Mode/OrbdaleTerrainEdRegistry.h
The open registry of the terrain editor mode: palettes, tools, actions, layers and brush targets.
#include "Mode/OrbdaleTerrainEdRegistry.h"
- FOrbdaleTerrainEdPaletteDesc struct
A palette (a group of buttons) of the mode's toolbar.
- FOrbdaleTerrainEdRegistry class
Where the mode's palettes, tools, actions, layers and brush targets come from.
OrbdaleTerrainDemImport.h
Editor-only importer of a GeoTIFF DEM, or a mosaic of GeoTIFFs on one grid, into a tile store.
#include "OrbdaleTerrainDemImport.h"
- FOrbdaleDemImportOptions struct
Settings of one DEM import: the heightmap import's (mip depth, memory budget, compression) and the DEM's own.
- FOrbdaleDemImportReport struct
What a DEM import did, or why it refused.
- UOrbdaleTerrainDemImport class
Imports GeoTIFF DEMs into a tile store (editor only).
OrbdaleTerrainEditorLibrary.h
The terrain editor's scripting API for Python and editor Blueprints: new terrain, brush strokes, features and the bake as the editor mode makes them, plus the viewport and mode helpers captures need.
#include "OrbdaleTerrainEditorLibrary.h"
- EOrbdaleTerrainEditorBrush enum
The brush tools of the editor mode's palette, by their tool ids.
- FOrbdaleTerrainEditorStroke struct
One brush stroke as a script states it: the tool, its settings as the tool's details panel shows them, and the cursor's path over the ground.
- FOrbdaleTerrainEditorStrokeResult struct
What ApplyEditorStroke did.
- FOrbdaleTerrainEditorFeatureResult struct
What PlacePlate or PlaceCorridor did.
- FOrbdaleTerrainEditorNewResult struct
What NewTerrain did.
- UOrbdaleTerrainEditorLibrary class
The terrain editor's scripting API (Python: unreal.OrbdaleTerrainEditorLibrary).
OrbdaleTerrainEditorSettings.h
Settings of the terrain editor mode: the author's per-user mode settings and the project-wide editor settings.
#include "OrbdaleTerrainEditorSettings.h"
- UOrbdaleTerrainEdModeSettings class
The mode's per-user settings, saved to EditorPerProjectUserSettings when the mode exits and loaded when it is entered.
- EOrbdaleTerrainUnbakedCook enum
What the cook does with a map that still holds an unbaked authoring layer.
- UOrbdaleTerrainEditorSettings class
Project Settings, Plugins, Orbdale Terrain Editor.
OrbdaleTerrainHeightmapImport.h
Editor-only importer of a 16-bit PNG or RAW16 heightmap with a JSON sidecar into a tile store.
#include "OrbdaleTerrainHeightmapImport.h"
- EOrbdaleHeightmapRasterKind enum
What the importer reads besides the heights.
- FOrbdaleHeightmapSidecar struct
The sidecar of a heightmap, decoded and checked.
- FOrbdaleHeightmapImportOptions struct
Settings of one import.
- FOrbdaleHeightmapImportReport struct
What an import did, or why it refused.
- UOrbdaleTerrainHeightmapImport class
Imports a 16-bit heightmap and its sidecar into a tile store (editor only).
OrbdaleTerrainImportChecks.h
Map check and cook warnings for tile stores imported from a Landscape that has changed since.
#include "OrbdaleTerrainImportChecks.h"
- Register function in OrbdaleTerrainImportChecks
Hook the map check (AOrbdaleTerrainActor::OnCheckForErrors) and the cook save (FCoreUObjectDelegates::OnObjectPreSave).
- Unregister function in OrbdaleTerrainImportChecks
Remove the hooks.
- ReportMapCheck function in OrbdaleTerrainImportChecks
Report a terrain actor whose source is a tile store imported from a Landscape that changed since, to the MapCheck log as a warning (Landscape not loaded: an info line, nothing can be said).
- WarnIfStale function in OrbdaleTerrainImportChecks
Log a LogOrbdaleTerrainShell warning when the store was imported from a Landscape that has changed since.
OrbdaleTerrainImportLibrary.h
Editor-only Blueprint library that fills heightmap source assets from 16-bit RAW files.
#include "OrbdaleTerrainImportLibrary.h"
- UOrbdaleTerrainImportLibrary class
Editor-side importers for terrain source assets (Tier 3, editor only).
OrbdaleTerrainImportResult.h
Result of an importer's Python and Blueprint entry: success flag plus the report line.
#include "OrbdaleTerrainImportResult.h"
- FOrbdaleTerrainImportResult struct
What an importer's scripting entry returns.
OrbdaleTerrainLandscapeImport.h
Editor-only importer of a Landscape's final heightmap and paint layers into a tile store.
#include "OrbdaleTerrainLandscapeImport.h"
- FOrbdaleLandscapeImportOptions struct
Settings of one Landscape import.
- FOrbdaleLandscapeImportErrorRow struct
The height error of the level-0 tiles that share one sample shift, against the exact decode of the Landscape.
- FOrbdaleLandscapeImportReport struct
What a Landscape import did, or why it refused.
- UOrbdaleTerrainLandscapeImport class
Imports a Landscape into a tile store (editor only): the final heightmap exactly, and optionally the paint layers.
OrbdaleTerrainMaterialLibrary.h
Editor-only Blueprint library that creates terrain material wrappers at editor time, since a cooked game cannot.
#include "OrbdaleTerrainMaterialLibrary.h"
- UOrbdaleTerrainMaterialLibrary class
Editor-time creation of terrain material wrappers (Tier 3, editor only).
Persist/OrbdaleTerrainAuthoringSync.h
Keeps each editor terrain's authoring layer (UOrbdaleTerrainAuthoringData) in step with the live terrain, and checks the cook and the map for unbaked authoring.
#include "Persist/OrbdaleTerrainAuthoringSync.h"
- FOrbdaleTerrainAuthoringSync class
The editor's authoring sync: the live terrain of an editor world is the truth, and its authoring asset catches up at four moments: the asset's own save, the map's save, PIE start and a terrain re-create (Material, Source, undo of a recreate property).
SplineFeature/OrbdaleTerrainSplineFeatureEditorSubsystem.h
ExperimentalThe editor half of the live spline features: the subsystem that watches every spline feature component of the editor world, previews while its spline is dragged and commits once on release, as part of the edit's own transaction when the ground is loaded.
#include "SplineFeature/OrbdaleTerrainSplineFeatureEditorSubsystem.h"
- FOrbdaleTerrainSplineFeatureEditorStats struct
What the spline feature subsystem has done since its counters were last reset: for tests and the HUD.
- UOrbdaleTerrainSplineFeatureEditorSubsystem class
Keeps the spline features of the editor world in step with their splines.
Tools/OrbdaleTerrainBrushPalette.h
The brush mask settings and palette of the terrain editor's brush, paint and Stamp tools: the mask, its angle, rotation mode, jitter, mirror and footprint; the palette of brush sets with Disc first; Import, which bakes a brush asset from the selected texture; the thumbnails.
#include "Tools/OrbdaleTerrainBrushPalette.h"
- EOrbdaleTerrainMaskFootprint enum
Where a masked brush writes.
- UOrbdaleTerrainBrushMaskProperties class
The brush mask a brush, paint or Stamp tool applies, kept per user and shared by those tools.
- UOrbdaleTerrainStampMaskProperties class
The Stamp tool's mask settings: the brush tools' settings, saved in a config section of their own, so the stamp's angle, footprint and import options and the brush tools' never replace each other.
- FOrbdaleTerrainBrushPaletteEntry struct
One button of the brush palette.
- kStarterFolder constant
The content folder whose brush sets the palette lists first: the plugin's starter set goes there.
- GatherBrushSets function in OrbdaleTerrainBrushPalette
The brush sets the palette lists, in order: every
UOrbdaleTerrainBrushSetunder kStarterFolder (by name), then Project Settings > Orbdale Terrain Editor > Brush Sets in their order; missing and repeated sets are skipped. - CollectEntries function in OrbdaleTerrainBrushPalette
The palette's buttons: Disc first, then each set's baked brushes in order (an unbaked or repeated brush skipped), then Current when it is in no set (a brush picked or imported elsewhere).
- CollectSplatEntries function in OrbdaleTerrainBrushPalette
The palette's splat buttons, after the brushes: each set's Splats in order (a null, repeated or unbaked splat is skipped), then Current when it is in no set (a splat picked elsewhere).
- SelectSplat function in OrbdaleTerrainBrushPalette
Pick Splat (null: none) in Props as a palette button does: the brush is cleared and the change is announced as a details edit.
- SelectBrush function in OrbdaleTerrainBrushPalette
Pick Brush (null: Disc) in Props as a palette button does: the angle becomes the asset's default angle and the change is announced as a details edit (PostEditChangeProperty), so the tool sees it.
- FExtensionTargetEntry struct
One row of the extension target picker.
- CollectExtensionTargets function in OrbdaleTerrainBrushPalette
The registered extension brush targets (V1 and V2), by id: the picker's rows.
- SetExtensionTarget function in OrbdaleTerrainBrushPalette
Pick or unpick the extension target Id in Props as a picker checkbox does: ids no longer registered are dropped from the list, and the change is announced as a details edit (PostEditChangeProperty), so the tool sees it.
- FImportOptions struct
What Import bakes.
- ImportOptionsOf function in OrbdaleTerrainBrushPalette
The options a tool's mask settings ask Import for; Usage is Height in the Stamp tool.
- MakeBrushFromTexture function in OrbdaleTerrainBrushPalette
Make a brush asset of Texture through the asset's own bake (it reads the texture's source, never its platform data).
- FindSelectedTexture function in OrbdaleTerrainBrushPalette
The first texture selected in the Content Browser (or in the editor's object selection), or null.
- ImportSelectedTexture function in OrbdaleTerrainBrushPalette
Import: bake a new brush asset of the selected texture beside it (
BM_<Texture>, a unique name), dirty and not saved. - GetThumbnail function in OrbdaleTerrainBrushPalette
A 64 × 64 grey thumbnail of Brush's mask (the disc for null), made once per mask and kept until Shutdown; null before Startup.
- Startup function in OrbdaleTerrainBrushPalette
Register the details customization that shows the palette, and keep the thumbnails.
- Shutdown function in OrbdaleTerrainBrushPalette
Tools/OrbdaleTerrainBrushStroke.h
One brush stroke of the terrain editor, from press to release, without a viewport.
#include "Tools/OrbdaleTerrainBrushStroke.h"
- FOrbdaleTerrainBrushStroke class
Drives a brush target from a cursor timeline: the stepper turns the cursor into steps, each step becomes one dab.
Tools/OrbdaleTerrainBrushTool.h
The terrain editor mode's brush tool: Sculpt, Smooth and Flatten, Paint, Ground class and Holes; *.
#include "Tools/OrbdaleTerrainBrushTool.h"
- EOrbdaleTerrainFlattenTarget enum
Where Flatten takes its target height.
- EOrbdaleTerrainPaintTarget enum
What a paint tool writes.
- UOrbdaleTerrainPaintProperties class
The paint tools' settings (Paint, Ground class, Holes), kept per user.
- UOrbdaleTerrainBrushToolProperties class
The brush tool's settings, shared by every brush tool and kept per user.
- UOrbdaleTerrainBrushToolBuilder class
Builds the brush tool of one kind.
- UOrbdaleTerrainBrushTool class
One class for every brush: a click-drag stroke on the analytic ground, with a preview ring and a HUD.
Tools/OrbdaleTerrainExtFeed.h
ExperimentalDrives the extension brush targets beside a built-in stroke or stamp.
#include "Tools/OrbdaleTerrainExtFeed.h"
- FOrbdaleTerrainExtFeed class
Sends the dabs of a stroke or stamp to the extension brush targets the author listed, and keeps their undo records.
Tools/OrbdaleTerrainFeaturePlacement.h
One editor feature commit that waits for the ground its bake reads.
#include "Tools/OrbdaleTerrainFeaturePlacement.h"
- EOrbdaleTerrainPlacementState enum
Where an
FOrbdaleTerrainFeaturePlacementstands. - FOrbdaleTerrainFeaturePlacement class
Commit an editor feature (an add, or a replace in place when its Id is set) or remove one, as soon as the terrain can take it, without blocking.
Tools/OrbdaleTerrainFeatureTools.h
The terrain editor mode's feature tools: Plate, Corridor and the feature list.
#include "Tools/OrbdaleTerrainFeatureTools.h"
- EOrbdaleTerrainFeatureTool enum
Which feature tool a builder makes.
- EOrbdaleTerrainPlateHeight enum
Where a plate's top height comes from.
- EOrbdaleTerrainCorridorPath enum
Where a corridor's centreline comes from.
- UOrbdaleTerrainPlateToolProperties class
The Plate tool's settings, kept per user.
- UOrbdaleTerrainCorridorToolProperties class
The Corridor tool's settings, kept per user.
- UOrbdaleTerrainFeatureListProperties class
The feature list: every feature the editor authored (owner domain 'TSED'), and the one selected.
- UOrbdaleTerrainFeatureEditProperties class
The selected feature's parameters.
- UOrbdaleTerrainFeatureToolBuilder class
Builds one feature tool.
- UOrbdaleTerrainFeatureToolBase class
What the feature tools share: clicks and hovers on the analytic ground (RaycastGround), the HUD, and committing or removing a feature as one editor transaction (AppendChange of an FOrbdaleTerrainFeatureChange on the terrain actor, never EmitObjectChange, so the edit outlives the tool).
- UOrbdaleTerrainPlateTool class
Plate: click the polygon's vertices on the ground; Enter commits, Backspace takes the last vertex back, Esc cancels.
- UOrbdaleTerrainCorridorTool class
Corridor: two clicks give a straight centreline (the third click starts again), or Use Selected Spline samples the selected actor's spline.
- UOrbdaleTerrainFeatureListTool class
Features: lists the features the editor authored, highlights the selected one (picked in the list or by a click on its footprint), replaces it with edited parameters or removes it.
Tools/OrbdaleTerrainMaskPreview.h
What the editor draws of a brush mask: the 50 % contour of a strength mask, cached per mask and angle, and the ghost of a height stamp, the 65 × 65 grid of EvaluateStampPreview over sampled ground.
#include "Tools/OrbdaleTerrainMaskPreview.h"
- FOrbdaleTerrainMaskContourCache class
The 50 % contour of strength masks, by marching squares on a 64 × 64 level of the mask (its own level 0 below that), turned and mirrored as a dab samples it, cached per mask, angle, mirror and aspect.
- FOrbdaleTerrainStampGhost struct
The ghost of a height stamp before it is placed: EvaluateStampPreview's Side × Side grid of the stamp's result over the ground sampled at StampPreviewPoint, in world cm.
Tools/OrbdaleTerrainNewTerrain.h
The new-terrain flow of the editor mode: an open registry of source kinds, the size estimates the preview shows, and the one transaction that creates the terrain.
#include "Tools/OrbdaleTerrainNewTerrain.h"
- FOrbdaleTerrainNewEstimate struct
What the preview panel shows before anything is created.
- FOrbdaleTerrainNewResult struct
What Create did.
- FOrbdaleTerrainNewSourceFlow struct
One source kind of Manage, New: Flat, Procedural, Heightmap, DEM, and Landscape.
- FOrbdaleTerrainNewSourceRegistry class
The registered source kinds.
- Estimate function in OrbdaleTerrainNewTerrain
The preview for the properties' kind.
- Create function in OrbdaleTerrainNewTerrain
Create a terrain in World, or replace the source of the world's terrain (one terrain per world).
- RegisterBuiltInFlows function in OrbdaleTerrainNewTerrain
Register Flat, Procedural, Heightmap, DEM and Landscape; called by the module at startup.
- UnregisterBuiltInFlows function in OrbdaleTerrainNewTerrain
Unregister them; called at shutdown.
Tools/OrbdaleTerrainNewTerrainTool.h
Manage, New: the property set, builder and tool of the new-terrain flow.
#include "Tools/OrbdaleTerrainNewTerrainTool.h"
- UOrbdaleTerrainNewTerrainProperties class
The fields of Manage, New.
- UOrbdaleTerrainNewTerrainToolBuilder class
Builds the New tool.
- UOrbdaleTerrainNewTerrainTool class
Manage, New.
Tools/OrbdaleTerrainSculptTarget.h
The built-in brush target of the terrain editor mode: heights, paint layers, the ground class and holes.
#include "Tools/OrbdaleTerrainSculptTarget.h"
- FOrbdaleTerrainSculptBrushSettings struct
What the target applies with every dab, beside the dab's own position, radius and strength.
- FOrbdaleTerrainBrushGroundCheck struct
Ground answers around a brush, for the stroke start and the preview.
- FOrbdaleTerrainSculptHeightTarget class
Edits the sculpt layer (heights, paint layers, the ground class and holes) through the subsystem's stroke calls, under the editor session.
Tools/OrbdaleTerrainStampHold.h
The stamp hold of the terrain editor's Stamp tool: one height stamp, applied as soon as the ground under its whole extent can be edited, as one undo record.
#include "Tools/OrbdaleTerrainStampHold.h"
- EOrbdaleTerrainStampHoldState enum
Where an
FOrbdaleTerrainStampHoldstands. - FOrbdaleTerrainStampHold class
Apply one height stamp when the terrain can take all of it, without blocking, as exactly one undo record.
Tools/OrbdaleTerrainStampPreviewMesh.h
The Stamp tool's preview: a translucent, sunlit mesh of a height stamp's result at the edit cell, or every 2nd, 4th... post on a big stamp, and its 65 × 65 wire ghost, both built on a worker over one ground snapshot; the mesh is drawn by a transient mesh component, the wire by the tool.
#include "Tools/OrbdaleTerrainStampPreviewMesh.h"
- FOrbdaleTerrainStampWire struct
One build of a stamp's wire ghost (built on a worker thread): EvaluateStampPreview's 65 × 65 grid of the stamp's result over the ground sampled at StampPreviewPoint, which cuts, and the lines the tool draws.
- FOrbdaleTerrainStampMesh struct
One build of a stamp's preview: the post-aligned grid of StampPreviewPostGridWithin, its ground, the stamp's result there (EvaluateStampPreviewPosts: on every vertex the millimetres the stamp writes to that post), the mesh drawn from it, and the wire ghost from the same ground snapshot.
- UOrbdaleTerrainStampPreviewComponent class
Draws a
FOrbdaleTerrainStampMesh: a translucent, lit, vertex-coloured triangle list in the world (material 0), and its cut cells again through the ground (material 1), never selectable, casting no shadow and colliding with nothing. - FOrbdaleTerrainStampPreview class
The Stamp tool's preview: asks a worker for a
FOrbdaleTerrainStampMeshand itsFOrbdaleTerrainStampWirewhen the stamp or the ground changes, shows each finished mesh on a transient actor'sUOrbdaleTerrainStampPreviewComponentand keeps the wire for the tool to draw.
Tools/OrbdaleTerrainStampTool.h
The terrain editor mode's Stamp tool: a click places a height stamp of the chosen brush mask, a click-drag sets its size and angle first, Esc cancels; each stamp is one transaction.
#include "Tools/OrbdaleTerrainStampTool.h"
- EOrbdaleTerrainStampBase enum
Where a stamp's base height comes from.
- UOrbdaleTerrainStampToolProperties class
The Stamp tool's settings, kept per user.
- UOrbdaleTerrainStampToolBuilder class
Builds the Stamp tool.
- UOrbdaleTerrainStampTool class
Places height stamps (EBrushKind::Stamp) of the brush mask picked in the palette.
Tools/OrbdaleTerrainStrokeStepper.h
The stroke stepper of the terrain editor's brush tool.
#include "Tools/OrbdaleTerrainStrokeStepper.h"
- EOrbdaleTerrainStrokeSpacing enum
How a stroke's cursor samples become brush steps.
- FOrbdaleTerrainStepperSettings struct
What the stepper needs to know about the stroke it steps.
- FOrbdaleTerrainStrokeStepper class
Turns a timeline of cursor positions into brush step positions.