Terrain and water: the common workflow, tools and Mesh vertices
💬 0 replies
Common workflow
Editor › open or create a project over a tile with a base DSF (New project).
Click Terrain & water (or Beaches) in the bar. The right panel shows the tools and sections.
Prepare the edit (draw an area, set the parameters).
Preview – computes the result without writing: counts, mesh checks, deviations, the new mesh in 3D. In the 3D view you compare BEFORE / AFTER with a slider (⇆ Compare, key C).
Write – saves the project and writes a new DSF with verification (0 cracks, raster and water as expected, tile edge unchanged, optionally DSFTool). Large DSFs are written only when RenderFarm is not running and there is enough memory; the write of Terrain & water, Beaches, Simplify and Merge with another DSF can be stopped with Cancel (for Insert DEM the preview can be stopped, the write cannot). A step that changed nothing in the DSF shows unchanged in the result (it was not written and has no verification of its own). An output that fails verification is not a version – you find it in History under Unverified outputs together with the reason.
Check the result in X-Plane – the panel always lists what to look at in the simulator.
Terrain after the edit in the 3D view With an Insert detailed DEM preview, the Airport, road, tile seam tool, the Vertices tool and in a project with a terrain flatten (the mesh as X-Plane flattens it), an After edit button appears in the 3D view next to ⇆ Compare. It shows the result of the latest preview before the DSF is written: the mesh after the edit with the same .ter textures, relief, orthophoto, grid and wireframe as the original terrain (the switches above the 3D view apply to both). The original triangles of the replaced area are hidden – a thin yellow outline shows its boundary – and the project's objects, roads, forests and draped polygons snap to the new heights (also in a large window loaded in pieces). The error map and the preview wireframe are hidden while it is on, so they do not cover the surface; the Wire mode shows the mesh. The cursor, brush points, drawing, measuring and dropping a library part then aim at the new mesh, not at the hidden original one. Each new triangle gets the texture of the original triangle under it (with Keep textures exactly along the texture borders). ⇆ Compare shows the same textured mesh on the right (AFTER) and the original terrain on the left (BEFORE) – regardless of the After edit button.
Follow-up edits Under the write result there is the Continue from it – new version as the base button. Further edits (terrain, DEM, beaches, simplification, orthophoto B) then start from the new version; the written terrain and beach operations are marked and switched off so they are not applied twice. The panel shows a Base: version … (n steps) line (after continuing from a terrain output Terrain: version …) with Back to the original (returns the original DSF and switches the operations on again). Continue from it and Back to the original are history steps – Ctrl+Z undoes them. Then save the project. The exception is Continue from it on an output with taken-over scenery: the base changes only together with refreshing the take-over in the core and is saved right away (the project is saved first, an error changes nothing) – see Editing the base scenery. The guide steps DEM → terrain → orthophoto continue this way by themselves. Alternatively open the new version in History with To editor (a new project with the base DSF = the new version).
The terrain and the scenery to edit are two DSFs. A project has the terrain (mesh) – the 3D view and the distant view are drawn from it, heights and measurements come from it and the terrain tools write into it (terrain and water, Insert DEM, Merge, Simplification, Beaches, orthophoto B) – and the scenery to edit, from which objects and forests are taken over and against which OLS is checked. Usually they are the same DSF. When they differ (an airport overlay or your own fixes above the mesh of another pack), Write creates two outputs: the terrain edits into <name> (source = the terrain mesh) and the taken-over scenery into <name>_scenerie (source = the scenery to edit). Without a scenery to edit (— none —) only the terrain is written – taken-over or new items do not belong in the terrain mesh, a write with them fails and the option to write new items into the base copy is not offered. Each has its own record, installation into X-Plane and Continue from it: Continue from it – new version as the terrain changes the project terrain, Continue from it – new version as the scenery to edit changes the scenery and refreshes the take-over. Outputs of the other terrain tools (DEM, beaches, simplification, merge, edits) are always terrain: with a separate terrain they continue the terrain, otherwise the base. The terrain tools compute from the mesh the editor currently shows, even before the project is saved (e.g. after the terrain switch on opening).
The tile edge does not change The tile edge shares the mesh with the neighbouring tile, so terrain edits (brush, smooth, flatten, set height, ramp and inserted edges) leave it unchanged: the edge pixels of the height rasters and the vertices on the edge stay and the change runs out smoothly over a 100 m band (at least 3 cells on a coarse raster). The preview tells you with a warning. Water far from the edge fades out towards it; water reaching the tile edge may change the edge (an overlap with a warning) – then edit the neighbouring tile too, otherwise there will be a step on the seam.
Terrain & water
Tools in the Terrain & water panel:
Tool
How to use it
Parameters
Select
click an edit in the list to select it; drag the white points to move a vertex, the blue point in the middle of an edge adds a vertex
–
Water
click the outline of a water body, double-click or Enter = done
Water level (empty = automatic), Water type (auto / lake / river / sea), Terrain below the level, Bottom depth, Max depth, Beach on the new shore, Bank slope, Roads in the new water, Items in the new water, Condition shore, Mesh margin
Surface
click an exact polygon, double-click or Enter = done; mesh heights do not change (only after a fill the shore of the remaining water gets a slope, see Bank slope)
Change to (Land (water → land), Another terrain texture, Water (land → water)), Terrain texture, for land Bridge over filled water, Bank slope
Brush
dragging with the left button raises (positive Change) or lowers (negative) the terrain; the right button orbits the camera
Radius, Change, Hardness
Smooth
dragging smooths the terrain
Radius, Strength, Smoothing
Flatten
a polygon flattened to a height or to a best-fit plane, with a smooth edge
Target, Height (empty = mean inside), Transition, Insert edges
Set height
a polygon set to an exact height without a transition
Height, Insert edges
Ramp
four clicks: edge A (2 points), edge B (2 points); terrain between them goes linearly from height A to B
Height A, Height B, Transition, Insert edges
Platform
click a polygon, double-click or Enter = done; inside a flat area, towards the surroundings a slope or a retaining wall – see Platforms, terraces, erosion, channels and dams
vertices and the mesh wireframe around the cursor; click = select a vertex, drag up / down = height (Shift fine), Shift + click in a triangle = new vertex, Delete = remove the selected vertex – see Mesh vertices
Cursor radius, Height of the selected vertex
The tool buttons show an icon and text; the icon has the colour of the button text.
Edits are queued in the Edits (order = write order) list – each edit is a layer (see Edit layers, mask and history). Each can be disabled (a disabled one is not written), moved up / down (arrows or dragging), renamed (double-click the name) or deleted. The panel has its own undo / redo (↶ ↷ in its header, or Ctrl+Z / Ctrl+Y while the mode is on).
Keys while drawing: Enter or a double-click finishes the outline (Water, Surface, Flatten, Set height; at least 3 distinct points and a non-zero area – a double-click does not duplicate the last point), Backspace removes the last point, Esc cancels the drawing (with nothing drawn it clears the edit selection; in the Vertices tool the vertex selection first), Delete deletes the selected edit (in the Vertices tool with a selected vertex it removes the vertex), C toggles the BEFORE / AFTER comparison (⇆ Compare).
Live height preview in 3D shows the terrain change while drawing. It leaves the water alone just like the write (see Terrain tools do not change water below): water vertices and the land copies on the shore stay, the change fades out towards the water and land near the water does not go below the surface – the water surface no longer tilts in the editor.
Insert edges inserts the polygon outline into the mesh so the mesh follows the sharp edge of the edit.
Water from OSM › Load finds water bodies in the project window (with a window over 0.1° in the area around the camera, see below) › Add selected. It reads per-tile OSM shapefiles (layers WATER, NATURAL, WATERWAYS) from the folders in Settings › Scenery folders › OSM shapefiles per tile; when none is set there, from the RenderFarm folder Tvorba\Input-OSM. So RenderFarm is not required – shapefiles in this structure are enough. An own OSM file (.osm, .pbf) cannot be used here yet – without shapefiles draw the water by hand with the Water tool.
Preview changes computes the edit over the base DSF: triangle counts, water level, type, depth and bottom, shore, height change, mesh checks (smallest angle). The mesh in 3D option shows the remeshed triangles.
Write to the base DSF › Write (n edits).
Terrain tools do not change water. Brush, Smooth, Flatten, Set height and Ramp (also with Insert edges) recognise water from the DSF mesh: the height raster pixels X-Plane 12 computes the water surface from and the water vertices stay unchanged – also at the water left after a partial fill. The tool target (mean, best-fit plane, ramp edge) is computed from land only, the change fades out towards the water over a 10 m band (on a coarse Laminar raster the mesh vertices carry it near the water) and land within 10 m of the water that was above the surface does not drop below it (it stays 5 cm above). Write verification refuses a step that would move the water surface. The live preview in 3D and the Vertices tool behave the same. Before, water was recognised from the sea_level raster: in RenderFarm the surface could move by up to 2.24 m and, the other way round, a large part of RenderFarm and Laminar land was skipped – edits saved earlier therefore give a different result after a new write. The water itself is changed by the Water and Surface tools; in DSF › Edits the including water (terrain_Water) checkbox includes it for vertex elevation and raster elevation.
Terrain changes in the mesh and in the height raster at the same time. New water gets terrain_Water and a bottom according to Bottom depth:
RenderFarm config (default) – the rf_bathymetry.cfg rules like RenderFarm (lake = synthetic bottom; sea = a ramp at the shore and the existing bottom further out); Max depth (empty = by the computation) limits the bottom – for marshes and shallows,
constant – the bottom is Depth below the water level everywhere,
from shore – Depth at shore and then the bottom gets deeper by Bottom slope (in % per 100 m, 2 % = 2 m per 100 m), at most down to Max depth (the same formula as RenderFarm).
The water surface is always flat and below the terrain. X-Plane 12 draws the surface from the height raster (Laminar: a cell of ~60 × 90 m), so the Studio sets every cell the surface in the new water is computed from to the water plane, and the land around gets its height directly in the mesh – it does not sink and the water does not climb up an embankment. An empty Water level = the adjoining water in the mesh, else the lowest terrain on the outline: the water is cut into the terrain. When the level is given or follows existing water and the terrain on part of the outline is lower, Terrain below the level decides: dam (default) = the shore is raised to the level there; lower the level = the level goes down to the lowest terrain of the outline (the adjoining water stays, there will be a step where they meet). A river is always a dam. The write result says where and by how much. Condition shore does not condition a coarse raster (Laminar) – it would lower a band hundreds of metres wide.
Bank slope (5–90°, empty = the default 45°): land above the water surface around new water is lowered towards the water into a slope of this angle – the terrain beyond the outline is not higher than the level + the distance from the water × tan(slope). Only terrain above the slope is lowered (lower terrain and the dam from Terrain below the level are not raised), over a band as wide as needed, at most 150 m; at the end of the band it fades smoothly back to the original terrain (when a wider band would be needed, the preview warns). The shore of existing water the new water connects to does not change; near the tile boundary the slope fades back to the original terrain (the boundary does not change, the preview tells you). 90° = a vertical bank: the water is only cut in as before (water drawn into a hillside got a vertical wall in X-Plane). A river has no slope. The empty field also applies to water edits saved earlier without a slope – on the next write from the editor they get a 45° slope; entering 90° keeps the vertical bank. Preview changes shows Bank slope: the angle, the band width and the largest lowering of the terrain.
Without Max depth the bottom is never above the terrain. Older water edits without this option are written as before (RenderFarm config). New water also gets interior vertices (a row 2 m from the shore, a 15 m grid near the shore, 60 m further out) that X-Plane 12 squeezes to the bottom when loading – with shore vertices only it would stay a flat lid above the surface and the bottom photo would flicker through the water.
Beaches at the changed water are adjusted in the same write (in a ZL14 orthophoto and in classic terrain): beach segments that do not have water on exactly one side after the write (a filled shore, a shore under new water) are deleted; a segment crossed by the outline of the change is trimmed at the outline (the part on the shore stays); a beach on a shore the mesh snapped to the outline of the change moves onto the new shore. The new shore of new water gets a beach by Beach on the new shore: by the same water (default) = the predominant beach type (by length) on the original shores of the water the new water connects to – water without beaches stays without a beach; when the new water connects to no water (a standalone pond), Write asks for the type (preselected is the narrow natural shore 11 – 8 m of land, the list shows the width of every type; or no beach) and saves the choice into the edit (Ctrl+Z undoes it). After a fill (Surface › Land) the new shore of the remaining water gets the predominant type of the original shores of the same water (within 1 km) and an island created by the fill gets a whole ring. A shore that was a shore before the write keeps its beach; where the remaining strip of water is narrower than twice the beach width into the water, the new shore stays without a beach (the beaches would face each other). In a RenderFarm orthophoto the beach lies under the photo and the photo strip at the beaches is recomputed after the write. The write result says how many segments were trimmed, how much beach was added and of which type; when the beach check fails (two beaches on the same shore edge, a beach farther than 1 m from the shore), the output keeps the original beaches and the message says so.
Roads and items in the new water are cleaned up in the same write, and only where the water is new – there is water after the write and there was none before (boats, piers and bridges in water that was already there stay; a fill in the same write is subtracted). The Items in the new water choice:
remove (default) – objects and buildings (closed facades, autogen) are deleted, forests, lines and fences (open facades) are clipped at the shore. Power lines stay (wires over water are common) and the write result reports the towers in the water. Items taken over into the project or added by the project (Editing the base scenery) stay – you manage them yourself – and the result lists them with their position.
keep – nothing is deleted.
Roads and railways on the ground (not bridges) in the new water are set by Roads in the new water:
ask on write (default) – Write lists the water edits that flood roads (length in metres, number of segments, how many cross the water and how many end in it) and asks for one of the other options. When the new water floods no road, the write does not ask. The choice is saved into the edit (Ctrl+Z undoes it) and the write continues.
remove – the part of the road in the water is deleted and the road ends at the shore.
bridge where the road crosses the water – a segment whose both ends stay on land gets a bridge over the water; road ends in the water are removed.
keep – the road stays under the surface (X-Plane draws it on the bottom and cars drive on it).
The clean-up is a separate verified step of the write: when verification fails, the output keeps the items and roads unchanged and the message says so. For water, Preview changes shows In the new water: roads (metres, segments, how many cross the water), objects, polygons by kind and power line towers; the write computes them again over the result of all edits.
Surface changes the surface in an exact polygon: the polygon edges are inserted into the mesh (as for water) and inside, depending on Change to:
Land (water → land) – water triangles turn into land and the terrain inside the polygon joins the surface beyond the shore: the outline gets the terrain height as X-Plane draws it and the inside is interpolated smoothly from it (no hole and no ridge remains; the shore of the remaining water keeps the level), the sea_level raster into terrain. The new shore of the remaining water and the filled land within 10 m of it lie at least 5 cm above the water surface as X-Plane draws it (on Laminar's coarse raster the new shore is therefore raised), and the remaining water gets interior vertices at the new shore – so no pit or wedge stays in X-Plane. Bank slope (5–90°, empty = the default 45°) sets the slope from the new shore to the bottom of the remaining water: the bottom points that X-Plane pushes down to the bottom lie as far from the new shore as the slope requires (at most 30 m, at least 2 m from the old shores), and where the new shore meets the old one there is a slope instead of a vertical wall. Where the set slope would give a steeper bank somewhere than a steeper row (20°, 45°, 70°, 85°) or the 2 m row as without a slope, that one is used (only these rows are compared, so between them a gentler slope may rarely be drawn slightly steeper). When the slope cannot be inserted into the mesh, the shore of the remaining water is written as without a slope and the preview says so. No bottom ridge longer than 3 m forms from shore to shore across water that the base DSF pushes down to the bottom (write verification refuses it, the preview warns in advance); a shorter ridge may stay in a narrow strip of water at the shore, and ridges already in the base do not change. 90° = a vertical bank, bottom points 2 m from the shore as before. Preview changes shows, from the resulting mesh, how far from the shore the bottom points of the written row lie, the steepest face at the shore and which row the write uses. The land texture = Terrain texture, empty = the land texture nearby; in a ZL14 orthophoto (from RenderFarm or baked by the Studio) the photo of its own cell with coordinates by position. Beaches on the filled shore are deleted and the new shore of the remaining water gets a beach of the predominant type of the same water (see Beaches at the changed water). For bridges over the filled water see Bridge over filled water below.
Another terrain texture – land in the polygon gets the texture from the Terrain texture field (a virtual path from the X-Plane library, e.g. lib/g10/terrain10/…; suggestions = textures nearby from the last preview). Without a texture the polygon cannot be finished – the panel asks for it and the drawing stays.
Water (land → water) – the same as the Water tool (level, type and bottom depth).
Bridge over filled water (only with Land) – a road or railway bridge under which the fill removes the water:
ask on write (default) – Write lists the edits with bridges over the fill (how many bridges, how many can go onto the ground, and for the others the reason and the position for Go to a place) and asks. For an edit with a bridge that can go onto the ground, road onto the new ground is preselected, otherwise keep the bridge. The choice is saved into the edit (Ctrl+Z undoes it) and the write continues.
road onto the new ground – the bridge with its ramps is laid onto the ground (only the road level changes, not its shape) and the road then runs on the ground level. How X-Plane draws it on the fill is not verified yet (see Not verified below).
keep the bridge – the bridge stays above the new land as before.
A bridge with water still under it, one crossing another road or railway, one connected to a power line, one continuing into the neighbouring tile or under an airport filter always stays – the dialog gives the reason and the position for each such bridge, the write result their number. A power line over the fill stays unchanged (it is not a bridge, the result gives only the number). The network step is verified; when verification fails, the output keeps the original network and the message says so. Preview changes shows Bridges over the fill (how many, how many go onto the ground, how many stay, power lines); when the preview cannot determine them, it shows a warning and the write determines them again.
Separate scenery to edit – when the project terrain mesh is a different DSF from the scenery to edit (e.g. an Ortho4XP or RenderFarm mesh with a separate overlay), the roads and bridges are in the scenery to edit. A fill write finds the bridges over the filled water there (it takes the fill and the remaining water from the terrain mesh), and the dialog says how many of them are in the scenery to edit. Road onto the new ground writes a scenery output with the bridge on the ground in addition to the terrain output. When all scenery bridges stay, the scenery is not rewritten and the write result lists them (Scenery to edit: …) with the reason.
Other scenery packages – X-Plane also draws roads and bridges from the other enabled packages of the tile, and the Studio does not change them. A water or fill write (and Merge with another DSF) checks them, and the dialog and the write result warn about another package's bridge over the filled water (after the fill it may hang above the ground) and about another package's road in the new water (X-Plane draws it under the surface), with the package name, the count and the position. Disable such a package in the scenery order or edit its DSF. The check does not stop the write. It does not count the project's own packages, disabled packages or Studio tests; it skips a large DSF of another package while RenderFarm is running or memory is low, and the result says so.
Mesh heights do not change and the tile edge stays. The preview shows Texture, Changed (texture triangles and water → land), Changed area and sea_level cells → land; write verification also checks the area of the new texture.
What to check in X-Plane (the panel lists it too): water draws as a surface (not a hole), no cracks or steps at the area boundary, objects and roads stand on the terrain and the water did not move after the terrain edits, the shore has a slope by Bank slope without a vertical wall, no houses or objects stand in the new water and forests end at the shore, roads end at the shore or run over a bridge, a bridge over the fill lies on the new ground without abutments (or stayed), aircraft collision with the surface matches what you see.
Not verified: new water body Terrain height changes are verified in X-Plane (objects follow the edited mesh). A new water body (drawn or from OSM) is verified only by mesh and file checks, not yet in X-Plane. The same holds for the bank slope, roads and items in the new water (the look of the bridge and its ramps) and the road on filled water. Go through the points of the previous paragraph.
Edit layers, mask and history
The Edits list is a list of layers: the resulting mesh = the enabled layers in the list order, the same in the live preview and in the write. Older projects open unchanged – each existing edit is one layer. Every change (disabling, order, name, parameters, mask) is one Ctrl+Z step.
Disable / enable – the on / off button of the layer; a disabled layer applies neither in the preview nor in the write.
Order – the ↑ ↓ arrows or dragging the layer to another place in the list.
Rename – double-click the name (Enter confirms, Esc cancels), or the Name field in the layer properties. Empty name = default by tool.
Change later – clicking a layer opens its parameters below the list; a change shows at once in the live preview, Preview changes recomputes it over the DSF (for terrain tools it also shows Cut / fill in m³ from the height raster).
Layer mask (terrain tools only – Brush, Smooth, Flatten, Set height, Ramp) limits where the layer changes the terrain. All conditions apply together:
Polygon – Draw (clicks in 3D, double-click / Enter = done) or From selected entity (outline of a forest, draped polygon, autogen or closed line selected in the editor before turning the mode on),
Terrain height from–to (m MSL) and Terrain slope from–to (%) – by the terrain before this layer; “from” greater than “to” is rejected right when entered. The write takes the slope from the height raster, the live preview from the displayed mesh – on a coarse mesh they may differ slightly,
Terrain type – textures (.ter) of the DSF mesh triangles,
under Advanced: Soft polygon edge (the change fades out beyond the outline) and Invert mask (the layer acts everywhere outside the mask).
The mask edge always has a soft transition of at least 40 m (and at least 2 height raster cells): the polygon fades outwards, for height, slope and terrain type the change fades smoothly from the cells meeting the condition. Without the transition the edge would be a wall in X-Plane. Preview changes shows the Largest step at the mask edge (difference of the change between neighbouring cells) and warns above 1 m – then widen the polygon edge or reduce the tool change.
A layer with a mask has the ◩ mark in the list. The mask is written with the edit (the write and the live preview compute the same); it does not change water. A water layer has no mask – the water surface must stay flat and below the surrounding terrain; limit the water area with its polygon. While drawing the mask polygon the target layer is locked: the polygon is saved to the layer where you started drawing, even if you select another one meanwhile. A batch to other GPS coordinates moves the mask polygon together with the tool; a layer with a height mask (m MSL) cannot be moved.
Layer history shows a small snapshot of the terrain after each enabled layer (shading, red cut, blue fill). Clicking a snapshot shows the state after that layer in 3D (later layers are temporarily not applied, the project does not change), another click or Current state brings everything back. Snapshots are computed in the background with progress; Cancel stops it.
Before/after difference, profile, visibility and slope
Map over the terrain colours the terrain mesh in 3D:
Before/after – difference map: how much the layers lowered (red) or raised (blue) the terrain compared to the original DSF, with a ±m legend (colour range under Advanced). The panel shows Cut, Fill and Balance in m³ and the changed area – a quick estimate from the live preview over the displayed mesh (shown with the Slope map too). Volume of all layers › Compute exactly starts a core job (progress, Cancel): it replays all enabled layers like a write (saves nothing) and shows two numbers:
mesh (X-Plane) – cut / fill between the mesh before and after as X-Plane draws it (vertices from the raster or with their own height, flat between vertices). The tool edge without inserted edges is softer in the mesh, so it usually differs from the raster;
raster (exact) – cut / fill from the height raster as it is written (cell change × cell area, net change after all layers); By layer shows the change of each layer.
After the layers change the result is marked as outdated – compute again.
- Slope – slope map of the edited terrain; class thresholds in % are under Advanced (default 5, 10, 20 and 35 %).
- Visibility – result of the visibility from a point (below).
Elevation profile – Draw a line (clicks in 3D, double-click = done) or From selected line (road, power line or line selected in the editor). The chart shows the terrain height before the edits (grey dashed) and after them (yellow); below the chart the lowest and highest point, the largest climb and descent in % and the total ascent. The cursor on the chart shows the point in 3D and lists the distance, height, change and slope there. The profile is recomputed after every layer change.
Visibility from a point – Choose point and click in 3D (observer position: eye, tower, mast). The terrain within the Radius is coloured blue where it is visible from the Eye height and red where the (edited) terrain hides it; Advanced has the Target height (e.g. 2 m = a person). The computation runs in the background with progress and can be cancelled; after a terrain change the panel offers Recompute.
The maps, profile and visibility are also in the command palette (Ctrl+K): Terrain: before/after difference map, Terrain: slope map, Terrain: elevation profile, Terrain: visibility from a point and Terrain: enable / disable layer (you can assign keys in Settings › Keyboard shortcuts).
Platforms, terraces, erosion, channels and dams
Six tools in the Shapes group (in the tool row right after Smooth, a click opens the menu) shape the terrain as layers – like the other edits they can be switched off, reordered, renamed, limited by a mask, have a history and a cut and fill volume, and every change is one Ctrl+Z step. The 3D preview uses the same formulas as the write (no waiting, even on a mesh with a million triangles). Water never changes: the surface stays level and below the terrain, the change fades out towards the water and land near the water never drops below the surface. The write goes the usual Write way with mesh verification.
Platform – flattens a polygon to the given Height (empty = mean terrain inside; on a coarse raster, where no raster point lies inside a small platform, the terrain is sampled in a dense grid of points inside the polygon – the preview and the write alike). Transition:
Slope with the Gradient 1 : n (1 : 2 = two metres sideways per metre of height) – from the edge down (fill) or up (cut) until it meets the terrain; the slope does not go further than Largest slope width and fades out smoothly over its last 20 % (no step). When the slope does not meet the terrain within that width it is cut off and steeper at the edge: the layer panel and the preview report say so with the real gradient and the Widen slope button sets the needed width. Insert edges (under Advanced) inserts the platform outline into the mesh – a sharp edge even on a coarse raster; Automatic is on when the mesh under the polygon is coarse (vertex spacing over 20 m);
Retaining wall – a vertical step in the terrain mesh around the edge (edges are inserted: the outer ring on the original terrain, the inner one at the platform height). In the layer properties Retaining walls › Add retaining walls adds a retaining wall along the edge (concrete, stone, gabions, brick; 0.5–12 m high, a concrete coping on top, the footing 0.5 m below the terrain so there is no gap at the foot) only where the height difference is above the Wall threshold. The wall is split into sections by height (a new section when it changes by more than 20 % or 0.25 m), the section height is measured against the terrain before this layer; on a fill the wall stands on the edge, on a cut half a metre inside. All sections are one Undo step. Walls from the Fences tool (stone, rendered, brick) stay in the menu for low differences (up to 2.5–3 m). The walls belong to the layer: Delete on the layer offers to delete its walls too (one Undo step brings both back), switching the layer off warns that the walls stay.
Terraces – splits a polygon on a slope into the Number of terraces (or Step height) of flat steps in the direction of the slope; between them a slope with the Step gradient, or Vertical steps (walls). With Vertical steps and Insert edges every step goes into the mesh as a vertical jump (two edges half a metre apart, the terraces exactly level, the raster does not change) and Retaining walls › Add retaining walls adds walls along the steps (height = step height). Cut and fill balance out; beyond the polygon edge the terraces blend into the surroundings in the Transition band. The layer panel shows the slope, the step height and the terrace width. On flat terrain terraces have no direction – use Platform.
Erosion – natural roughness; the Seed sets the random pattern (the same seed and drawing = always the same shape, New draws a new one), Strength the depth:
Gullies along the fall line (brush) – elongated gullies in the direction of the slope (simplified water erosion);
Rounded edges (brush) – rounds sharp edges and breaks;
Quarry (polygon) – faces with benches (Face height, Bench width) and scree below the faces; only removes. On flat ground (difference in the polygon smaller than the face height) the quarry digs a pit with three benches below the terrain;
Ravine (line) – an incised little valley with a varying width and depth;
Bank (brush) – a rounded transition to the water; only lowers the land, the surface stays.
Channel – draw the line downstream. The bed is the Depth below the terrain at the start and never rises further on: it descends at least by the Longitudinal fall (even when the line goes uphill, the channel cuts in). Side slopes with the Gradient tie into the terrain – how far they reach follows from the real depth of the channel below the terrain (even a 40 m deep cut into a hill gets a 1 : n slope); when the slope would have to reach further than 250 m, the panel reports it as cut off. A channel with a level bed (0 % fall and a bed the terrain did not pull lower) offers Water in the channel › Add water – a Water layer of the existing tool: the outline is a band around the line (no crossing even in sharp bends), the surface 40 % of the depth above the bed and always below the terrain of the outline. With a fall or an uneven bed the button is off (the surface would not be level) and the panel says why. The dam reports a cut-off slope the same way.
Dam – Crestfollowing terrain (an embankment at the given Height above the smoothed terrain) or level (a dam across a valley: the Height above the lowest point of the line, the ends tie into the valley sides). Side slopes with the Gradient tie into the terrain.
The tools are also in the command palette (Ctrl+K): Terrain: platform, Terrain: terraces, Terrain: erosion and edges, Terrain: channel, Terrain: dam / embankment – without a default key (you can assign one in Settings › Keyboard shortcuts).
Embankment / cutting (the sixth tool of the Shapes group) draws no geometry – it takes the roads and railways drawn in the editor: Under selected (selected in the Roads mode) or Under all, with the Embankment slope (1 : 1.5) and the Cutting slope (1 : 1); under Advanced the Greatest slope width. The terrain under the road is graded to the grade line; it does not change under bridges, nor does water. Without roads the panel tells you how to start. Details in Embankment and cutting.
Shapes across the tile boundary. The platform height, the terrace plane and the channel and dam profile are computed once for the whole scene – in the preview over all loaded parts of the mesh (even across several tiles), in the core (preview and Write) over this DSF and the neighbouring DSFs of the same terrain mesh package (Earth nav data/+50+010/+50+015.dsf and next to it) – so no step appears at the boundary of a mesh piece or a tile and writing the neighbouring tile (another project) gets the same height and profile. The outermost tile pixels stay locked as before. When the neighbouring DSF is missing from the package, the shape is computed from this tile only and the preview and the write warn that a step may appear at the boundary (enter the platform height by hand, or split the shape).
Not verified in X-Plane The shapes are verified by mesh, raster and water checks and by tests (platform profile, terraces, monotonic channel bed, dam, repeatable erosion). Not yet in X-Plane: mainly the retaining wall (a vertical step in the mesh) and the retaining walls along it and along terrace steps (footing below the terrain, height by sections), and fine erosion shapes on a coarse raster (Laminar about 30–90 m – gullies smaller than a raster cell do not show).
Mesh vertices
The Vertices tool (the last one in the tool row, after Ramp; the terrain shapes are in the Shapes group after Smooth) edits single vertices of the terrain mesh. The vertices and the mesh wireframe show only around the cursor – set the radius in the panel (Cursor radius, default 200 m, 10–1000 m), so the tool stays fast even over a dense RenderFarm mesh. While a vertex is dragged the neighbourhood stays in place.
Click a vertex to select it (yellow point); the panel shows Position, Height and Originally. A click away from vertices clears the selection.
Dragging up / down changes the vertex height (10 px = 1 m), with Shift finely (10 px = 0.1 m); while dragging, the hint at the bottom of the 3D view shows the height. The height can also be typed into the Height field. Moving a vertex sideways is not available yet.
Shift + click in a triangle inserts a new vertex (height = the mesh surface under the point, so nothing moves); then its height can be changed. Shift + click right on a vertex point only selects it.
Delete (or Remove vertex) removes the selected vertex; without a selected vertex Delete deletes the selected edit as in the other tools. Holding Delete or a quick second press (within 1 s) after removing a vertex does not delete the edit. Esc clears the vertex selection.
All vertex changes are one item of the edit list, Mesh vertices (n) (n = number of steps) – it can be disabled, deleted and renamed like the others. Ctrl+Z / Ctrl+Y undo / redo single steps; when Ctrl+Z undoes the insertion of the selected vertex, the selection is cleared. The panel of the selected edit lists the steps; clicking a step selects its vertex. One edit holds 2000 steps, further steps go into a new one.
Steps go into the Mesh vertices edit only while it is the last enabled item of the list. When another edit follows it (Brush, Flatten, Water…), the next step starts a new Mesh vertices item at the end of the list – the height is entered as you see it after all edits, and a later edit would otherwise be added to it again.
Colours: white = vertex, orange = changed height, green = new vertex, blue = water and shore (locked), grey = tile boundary (locked), red outline = hole after a removed vertex, yellow = selected vertex. Points and wireframe outside the radius are not drawn.
How the change is written:
The height is written into all copies of the vertex across pools (overlays, T-junctions), so the mesh gets no crack. A vertex taking its height from the raster (−32768, RenderFarm and Laminar DSFs) starts at the raster height under it and becomes explicit when changed. The elevation raster does not change and neighbouring vertices do not move – the same as Insert DEM and the airport and road edits. Changing the raster would move every vertex within reach of its cells (~90 m cells with Laminar). Later terrain tools (Brush, Flatten…) give the vertex the same change as the raster, so the mesh and the raster stay consistent.
Inserting and removing a vertex = local re-triangulation (Delaunay with constrained edges): triangle textures, water and road edges and pool boundaries stay. Texture transitions are rebuilt on the new triangles (the blend is interpolated, also at a new vertex on an edge). A vertex on a texture boundary (or on a pool cell boundary or a road edge) can be removed only when the boundary runs through it as one straight line – the vertex lies at most 0.1 m from the line joining its boundary neighbours. The boundary is not straightened: Preview changes refuses a vertex where it bends, with a message (by how many metres and m² the boundary would move). With the Laminar texture mosaic this is common.
Water and the tile boundary do not change: a water or shore vertex, a vertex on the tile boundary and a point in water are refused with a message; a T-junction can be raised but not removed.
Preview changes shows Vertices (height / new / removed), Vertex copies, Triangles (with the number of removed and rebuilt texture transitions), From raster and the mesh checks and offers After edit – the exact new mesh in the 3D view (the mesh in 3D option shows its wireframe). The write is verified like the other terrain edits (0 cracks, orientation, vertex copies, DSFTool); changes far apart are verified area by area.
Based on the RF Studio manual (F1 › Manual, version 0.12.0-beta). Post your questions and experience in this thread.
Common workflow
Terrain & water
Tools in the Terrain & water panel:
The tool buttons show an icon and text; the icon has the colour of the button text.
Tvorba\Input-OSM. So RenderFarm is not required – shapefiles in this structure are enough. An own OSM file (.osm,.pbf) cannot be used here yet – without shapefiles draw the water by hand with the Water tool.Terrain tools do not change water. Brush, Smooth, Flatten, Set height and Ramp (also with Insert edges) recognise water from the DSF mesh: the height raster pixels X-Plane 12 computes the water surface from and the water vertices stay unchanged – also at the water left after a partial fill. The tool target (mean, best-fit plane, ramp edge) is computed from land only, the change fades out towards the water over a 10 m band (on a coarse Laminar raster the mesh vertices carry it near the water) and land within 10 m of the water that was above the surface does not drop below it (it stays 5 cm above). Write verification refuses a step that would move the water surface. The live preview in 3D and the Vertices tool behave the same. Before, water was recognised from the
sea_levelraster: in RenderFarm the surface could move by up to 2.24 m and, the other way round, a large part of RenderFarm and Laminar land was skipped – edits saved earlier therefore give a different result after a new write. The water itself is changed by the Water and Surface tools; in DSF › Edits the including water (terrain_Water) checkbox includes it for vertex elevation and raster elevation.Terrain changes in the mesh and in the height raster at the same time. New water gets
terrain_Waterand a bottom according to Bottom depth:rf_bathymetry.cfgrules like RenderFarm (lake = synthetic bottom; sea = a ramp at the shore and the existing bottom further out); Max depth (empty = by the computation) limits the bottom – for marshes and shallows,The water surface is always flat and below the terrain. X-Plane 12 draws the surface from the height raster (Laminar: a cell of ~60 × 90 m), so the Studio sets every cell the surface in the new water is computed from to the water plane, and the land around gets its height directly in the mesh – it does not sink and the water does not climb up an embankment. An empty Water level = the adjoining water in the mesh, else the lowest terrain on the outline: the water is cut into the terrain. When the level is given or follows existing water and the terrain on part of the outline is lower, Terrain below the level decides: dam (default) = the shore is raised to the level there; lower the level = the level goes down to the lowest terrain of the outline (the adjoining water stays, there will be a step where they meet). A river is always a dam. The write result says where and by how much. Condition shore does not condition a coarse raster (Laminar) – it would lower a band hundreds of metres wide.
Bank slope (5–90°, empty = the default 45°): land above the water surface around new water is lowered towards the water into a slope of this angle – the terrain beyond the outline is not higher than the level + the distance from the water × tan(slope). Only terrain above the slope is lowered (lower terrain and the dam from Terrain below the level are not raised), over a band as wide as needed, at most 150 m; at the end of the band it fades smoothly back to the original terrain (when a wider band would be needed, the preview warns). The shore of existing water the new water connects to does not change; near the tile boundary the slope fades back to the original terrain (the boundary does not change, the preview tells you). 90° = a vertical bank: the water is only cut in as before (water drawn into a hillside got a vertical wall in X-Plane). A river has no slope. The empty field also applies to water edits saved earlier without a slope – on the next write from the editor they get a 45° slope; entering 90° keeps the vertical bank. Preview changes shows Bank slope: the angle, the band width and the largest lowering of the terrain.
Without Max depth the bottom is never above the terrain. Older water edits without this option are written as before (RenderFarm config). New water also gets interior vertices (a row 2 m from the shore, a 15 m grid near the shore, 60 m further out) that X-Plane 12 squeezes to the bottom when loading – with shore vertices only it would stay a flat lid above the surface and the bottom photo would flicker through the water.
Beaches at the changed water are adjusted in the same write (in a ZL14 orthophoto and in classic terrain): beach segments that do not have water on exactly one side after the write (a filled shore, a shore under new water) are deleted; a segment crossed by the outline of the change is trimmed at the outline (the part on the shore stays); a beach on a shore the mesh snapped to the outline of the change moves onto the new shore. The new shore of new water gets a beach by Beach on the new shore: by the same water (default) = the predominant beach type (by length) on the original shores of the water the new water connects to – water without beaches stays without a beach; when the new water connects to no water (a standalone pond), Write asks for the type (preselected is the narrow natural shore 11 – 8 m of land, the list shows the width of every type; or no beach) and saves the choice into the edit (Ctrl+Z undoes it). After a fill (Surface › Land) the new shore of the remaining water gets the predominant type of the original shores of the same water (within 1 km) and an island created by the fill gets a whole ring. A shore that was a shore before the write keeps its beach; where the remaining strip of water is narrower than twice the beach width into the water, the new shore stays without a beach (the beaches would face each other). In a RenderFarm orthophoto the beach lies under the photo and the photo strip at the beaches is recomputed after the write. The write result says how many segments were trimmed, how much beach was added and of which type; when the beach check fails (two beaches on the same shore edge, a beach farther than 1 m from the shore), the output keeps the original beaches and the message says so.
Roads and items in the new water are cleaned up in the same write, and only where the water is new – there is water after the write and there was none before (boats, piers and bridges in water that was already there stay; a fill in the same write is subtracted). The Items in the new water choice:
Roads and railways on the ground (not bridges) in the new water are set by Roads in the new water:
The clean-up is a separate verified step of the write: when verification fails, the output keeps the items and roads unchanged and the message says so. For water, Preview changes shows In the new water: roads (metres, segments, how many cross the water), objects, polygons by kind and power line towers; the write computes them again over the result of all edits.
Surface changes the surface in an exact polygon: the polygon edges are inserted into the mesh (as for water) and inside, depending on Change to:
sea_levelraster into terrain. The new shore of the remaining water and the filled land within 10 m of it lie at least 5 cm above the water surface as X-Plane draws it (on Laminar's coarse raster the new shore is therefore raised), and the remaining water gets interior vertices at the new shore – so no pit or wedge stays in X-Plane. Bank slope (5–90°, empty = the default 45°) sets the slope from the new shore to the bottom of the remaining water: the bottom points that X-Plane pushes down to the bottom lie as far from the new shore as the slope requires (at most 30 m, at least 2 m from the old shores), and where the new shore meets the old one there is a slope instead of a vertical wall. Where the set slope would give a steeper bank somewhere than a steeper row (20°, 45°, 70°, 85°) or the 2 m row as without a slope, that one is used (only these rows are compared, so between them a gentler slope may rarely be drawn slightly steeper). When the slope cannot be inserted into the mesh, the shore of the remaining water is written as without a slope and the preview says so. No bottom ridge longer than 3 m forms from shore to shore across water that the base DSF pushes down to the bottom (write verification refuses it, the preview warns in advance); a shorter ridge may stay in a narrow strip of water at the shore, and ridges already in the base do not change. 90° = a vertical bank, bottom points 2 m from the shore as before. Preview changes shows, from the resulting mesh, how far from the shore the bottom points of the written row lie, the steepest face at the shore and which row the write uses. The land texture = Terrain texture, empty = the land texture nearby; in a ZL14 orthophoto (from RenderFarm or baked by the Studio) the photo of its own cell with coordinates by position. Beaches on the filled shore are deleted and the new shore of the remaining water gets a beach of the predominant type of the same water (see Beaches at the changed water). For bridges over the filled water see Bridge over filled water below.lib/g10/terrain10/…; suggestions = textures nearby from the last preview). Without a texture the polygon cannot be finished – the panel asks for it and the drawing stays.Bridge over filled water (only with Land) – a road or railway bridge under which the fill removes the water:
A bridge with water still under it, one crossing another road or railway, one connected to a power line, one continuing into the neighbouring tile or under an airport filter always stays – the dialog gives the reason and the position for each such bridge, the write result their number. A power line over the fill stays unchanged (it is not a bridge, the result gives only the number). The network step is verified; when verification fails, the output keeps the original network and the message says so. Preview changes shows Bridges over the fill (how many, how many go onto the ground, how many stay, power lines); when the preview cannot determine them, it shows a warning and the write determines them again.
Separate scenery to edit – when the project terrain mesh is a different DSF from the scenery to edit (e.g. an Ortho4XP or RenderFarm mesh with a separate overlay), the roads and bridges are in the scenery to edit. A fill write finds the bridges over the filled water there (it takes the fill and the remaining water from the terrain mesh), and the dialog says how many of them are in the scenery to edit. Road onto the new ground writes a scenery output with the bridge on the ground in addition to the terrain output. When all scenery bridges stay, the scenery is not rewritten and the write result lists them (Scenery to edit: …) with the reason.
Other scenery packages – X-Plane also draws roads and bridges from the other enabled packages of the tile, and the Studio does not change them. A water or fill write (and Merge with another DSF) checks them, and the dialog and the write result warn about another package's bridge over the filled water (after the fill it may hang above the ground) and about another package's road in the new water (X-Plane draws it under the surface), with the package name, the count and the position. Disable such a package in the scenery order or edit its DSF. The check does not stop the write. It does not count the project's own packages, disabled packages or Studio tests; it skips a large DSF of another package while RenderFarm is running or memory is low, and the result says so.
Mesh heights do not change and the tile edge stays. The preview shows Texture, Changed (texture triangles and water → land), Changed area and sea_level cells → land; write verification also checks the area of the new texture.
What to check in X-Plane (the panel lists it too): water draws as a surface (not a hole), no cracks or steps at the area boundary, objects and roads stand on the terrain and the water did not move after the terrain edits, the shore has a slope by Bank slope without a vertical wall, no houses or objects stand in the new water and forests end at the shore, roads end at the shore or run over a bridge, a bridge over the fill lies on the new ground without abutments (or stayed), aircraft collision with the surface matches what you see.
Edit layers, mask and history
The Edits list is a list of layers: the resulting mesh = the enabled layers in the list order, the same in the live preview and in the write. Older projects open unchanged – each existing edit is one layer. Every change (disabling, order, name, parameters, mask) is one Ctrl+Z step.
Layer mask (terrain tools only – Brush, Smooth, Flatten, Set height, Ramp) limits where the layer changes the terrain. All conditions apply together:
The mask edge always has a soft transition of at least 40 m (and at least 2 height raster cells): the polygon fades outwards, for height, slope and terrain type the change fades smoothly from the cells meeting the condition. Without the transition the edge would be a wall in X-Plane. Preview changes shows the Largest step at the mask edge (difference of the change between neighbouring cells) and warns above 1 m – then widen the polygon edge or reduce the tool change.
A layer with a mask has the ◩ mark in the list. The mask is written with the edit (the write and the live preview compute the same); it does not change water. A water layer has no mask – the water surface must stay flat and below the surrounding terrain; limit the water area with its polygon. While drawing the mask polygon the target layer is locked: the polygon is saved to the layer where you started drawing, even if you select another one meanwhile. A batch to other GPS coordinates moves the mask polygon together with the tool; a layer with a height mask (m MSL) cannot be moved.
Layer history shows a small snapshot of the terrain after each enabled layer (shading, red cut, blue fill). Clicking a snapshot shows the state after that layer in 3D (later layers are temporarily not applied, the project does not change), another click or Current state brings everything back. Snapshots are computed in the background with progress; Cancel stops it.
Before/after difference, profile, visibility and slope
Map over the terrain colours the terrain mesh in 3D:
After the layers change the result is marked as outdated – compute again. - Slope – slope map of the edited terrain; class thresholds in % are under Advanced (default 5, 10, 20 and 35 %). - Visibility – result of the visibility from a point (below).
Elevation profile – Draw a line (clicks in 3D, double-click = done) or From selected line (road, power line or line selected in the editor). The chart shows the terrain height before the edits (grey dashed) and after them (yellow); below the chart the lowest and highest point, the largest climb and descent in % and the total ascent. The cursor on the chart shows the point in 3D and lists the distance, height, change and slope there. The profile is recomputed after every layer change.
Visibility from a point – Choose point and click in 3D (observer position: eye, tower, mast). The terrain within the Radius is coloured blue where it is visible from the Eye height and red where the (edited) terrain hides it; Advanced has the Target height (e.g. 2 m = a person). The computation runs in the background with progress and can be cancelled; after a terrain change the panel offers Recompute.
The maps, profile and visibility are also in the command palette (Ctrl+K): Terrain: before/after difference map, Terrain: slope map, Terrain: elevation profile, Terrain: visibility from a point and Terrain: enable / disable layer (you can assign keys in Settings › Keyboard shortcuts).
Platforms, terraces, erosion, channels and dams
Six tools in the Shapes group (in the tool row right after Smooth, a click opens the menu) shape the terrain as layers – like the other edits they can be switched off, reordered, renamed, limited by a mask, have a history and a cut and fill volume, and every change is one Ctrl+Z step. The 3D preview uses the same formulas as the write (no waiting, even on a mesh with a million triangles). Water never changes: the surface stays level and below the terrain, the change fades out towards the water and land near the water never drops below the surface. The write goes the usual Write way with mesh verification.
The tools are also in the command palette (Ctrl+K): Terrain: platform, Terrain: terraces, Terrain: erosion and edges, Terrain: channel, Terrain: dam / embankment – without a default key (you can assign one in Settings › Keyboard shortcuts).
Embankment / cutting (the sixth tool of the Shapes group) draws no geometry – it takes the roads and railways drawn in the editor: Under selected (selected in the Roads mode) or Under all, with the Embankment slope (1 : 1.5) and the Cutting slope (1 : 1); under Advanced the Greatest slope width. The terrain under the road is graded to the grade line; it does not change under bridges, nor does water. Without roads the panel tells you how to start. Details in Embankment and cutting.
Shapes across the tile boundary. The platform height, the terrace plane and the channel and dam profile are computed once for the whole scene – in the preview over all loaded parts of the mesh (even across several tiles), in the core (preview and Write) over this DSF and the neighbouring DSFs of the same terrain mesh package (
Earth nav data/+50+010/+50+015.dsfand next to it) – so no step appears at the boundary of a mesh piece or a tile and writing the neighbouring tile (another project) gets the same height and profile. The outermost tile pixels stay locked as before. When the neighbouring DSF is missing from the package, the shape is computed from this tile only and the preview and the write warn that a step may appear at the boundary (enter the platform height by hand, or split the shape).Mesh vertices
The Vertices tool (the last one in the tool row, after Ramp; the terrain shapes are in the Shapes group after Smooth) edits single vertices of the terrain mesh. The vertices and the mesh wireframe show only around the cursor – set the radius in the panel (Cursor radius, default 200 m, 10–1000 m), so the tool stays fast even over a dense RenderFarm mesh. While a vertex is dragged the neighbourhood stays in place.
How the change is written:
Based on the RF Studio manual (F1 › Manual, version 0.12.0-beta). Post your questions and experience in this thread.