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, Condition shore, Mesh margin
Surface
click an exact polygon, double-click or Enter = done; mesh heights do not change
Change to (Land (water → land), Another terrain texture, Water (land → water)), Texture (.ter)
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
Vertices
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 can be disabled (a disabled one is not written), moved up / down 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.
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 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.
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). The new shore of new water gets a beach by Beach on the new shore: by the neighbouring beach (default) = the beach type of the same water next to the new shore; when there is no neighbouring beach, 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). 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 and how much beach was added.
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 land texture = Texture (.ter), 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.
Another terrain texture – land in the polygon gets the texture from the Texture (.ter) 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).
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, the shore has no vertical wall, 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. Go through the points of the previous paragraph.
Mesh vertices
The Vertices tool (the last one in the tool row, after Ramp) 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.11.2-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 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.
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). The new shore of new water gets a beach by Beach on the new shore: by the neighbouring beach (default) = the beach type of the same water next to the new shore; when there is no neighbouring beach, 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). 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 and how much beach was added.
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 land texture = Texture (.ter), 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.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.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, the shore has no vertical wall, aircraft collision with the surface matches what you see.
Mesh vertices
The Vertices tool (the last one in the tool row, after Ramp) 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.11.2-beta). Post your questions and experience in this thread.