Displacement Map Terrain Editor Help

Getting started

  1. Load a TGA, PNG, or BMP displacement map and, optionally, its full-terrain texture.
  2. Set Grid Resolution and Maximum Height. The bundled Valley Ride preview starts at 3 feet per pixel and a 90-foot white-point height; manual imports default to 25 feet.
  3. Inspect the terrain in 3D and drop route markers with M.
  4. Add or import track points in the 2D overview, then adjust the procedural controls.
  5. Inspect the live result before using Bake track.

Flight controls

Mouse
Look around after clicking the terrain. Once flying over the terrain, left-click drops a route marker.
W A S D
Move forward, left, backward, and right.
Q / E
Move down and up during free flight.
Shift / Alt
Fast and precision movement.
Mouse wheel
Change flight speed.
G
Toggle ground-following flight.
M
Drop a route marker at the camera's ground position.
T
Hide or restore the main tools.
O
Hide or restore the displacement-map overview.
H
Hide or restore camera telemetry.
I
Hide or restore the flight-instruction bubble.
P
Capture the current editor display as a PNG.
Esc
Release the mouse.

Terrain and display

The selected displacement encoding supplies elevation. The texture control loads a complete terrain texture; Inspection grass temporarily replaces it, and Restore texture switches back. Seamless grass tile uses a generated or user-loaded tile with an adjustable repeat count.

Grid Resolution is horizontal feet per displacement interval. A 257×257 map has 256 intervals, so Grid Resolution 3 produces 768×768 feet of land. Maximum Height follows Tga2Asc: black is zero and white is the entered number of feet. RGB and POV-Ray maps use the same height; POV-Ray merely provides more intermediate levels.

Scale vertical height with Grid Resolution ÷ 3 models the suspected MCM game-side uniform scaling. At Grid Resolution 6, Maximum Height 25 therefore displays an effective 50-foot white elevation. Disable it to use the Tga2Asc height directly while testing actual tracks.

Textured, height-color, slope, untextured, and displacement-grid views provide different ways to judge the terrain. Lighting brightness changes inspection lighting without changing the source texture.

The main Display menu includes 3D displacement-grayscale views for 8-bit values from 0–255 and 16-bit values from 0–65535. These modes replace the terrain texture with normalized displacement brightness while retaining the full 3D terrain shape. Both ranges can look nearly identical on a normal monitor, but each mode quantizes the terrain using its selected displacement precision.

The permanent HUD reports precise camera X, Y, and Z coordinates, ground elevation, height above ground, yaw, pitch, field of view, and frame rate. These values can be used to reproduce a preferred starting view.

Ground view smoothly moves to the current ground position or, when outside the terrain, to the nearest edge or corner. Normal flight input cancels the transition.

Supported files and resolutions

The editor imports square TGA, PNG, and BMP images through 2048×2048. A displacement map can use 256-level RGB, where red, green, and blue are equal, or POV-Ray 16-bit R/G, where red is the high byte and green is the low byte. Export supports either encoding in all three image formats.

Import USGS terrain by location downloads public USGS 3DEP bare-earth elevation for a latitude and longitude in the United States. Terrain width defaults to 768 feet and editor resolution defaults to 257×257, producing the normal MCM Grid Resolution of 3 feet per pixel. The importer converts meters to feet, makes the selected area's lowest elevation black, derives Maximum Height from its local relief, records the real-world base elevation with the source, disables game-side vertical scaling, and starts with generated grass. Internet access is required.

After choosing a displacement file, the import dialog shows its detected size and encoding. Set the map's Maximum Height in feet; it defaults to 25 because image files do not store this real-world scale. Keep the source size or convert it to 257, 513, 1024, 2048, or a custom square size such as 145 before editing. The Custom Size field appears only when that choice is selected. When dimensions change, choose Nearest neighbor to preserve hard elevation steps or Bilinear to smooth between source samples. Nearest neighbor is the default. Resize terrain provides the same choices later, with one-step Undo resize.

The supplied MCM1 terrain uses a 257×257 displacement map, representing 256×256 terrain cells, with a 960×960 terrain texture. Texture resolution remains independent from displacement resolution and is retained exactly.

Large maps retain every height sample for editing and export while the 3D inspection mesh adapts to a safe display density. This avoids allocating a literal multi-million-vertex preview mesh.

2D track editing

Route-marker safety

Markers can only be dropped while the camera is over the terrain. Out-of-bounds and duplicate markers are rejected instead of being clamped to a corner. Undo last marker removes the most recently dropped marker before it is converted into a path.

Elevation modes

Follow terrain

The centerline samples the original terrain continuously. Grade smoothing is a radius measured in displacement pixels: 0 follows every sampled change, while larger values bridge small rises and dips and therefore create more cut and fill. Start at 2 and increase it deliberately.

Elevation anchors

Selected points can carry explicit world-height anchors. The editor interpolates a profile through those anchors.

Fixed elevation

Creates a level centerline at the specified world height, useful for pads and special sections.

Preview, revert, and bake

Live preview always derives the procedural corridor from the preserved source heightfield. Revert preview disables terrain deformation while retaining the path. Bake track makes the preview the new working heightfield and clears the procedural path.

Important: general undo and redo are not implemented yet. A baked track, cleared path, or removed point cannot currently be restored with Cmd/Ctrl+Z. Keep the path procedural until you are satisfied.

Saving beta work

Save displacement image downloads the terrain currently visible in 3D, including an enabled procedural preview even if it has not been baked. Choose TGA, PNG, or BMP plus 256-level RGB or POV-Ray 16-bit R/G. Export always uses the current editor dimensions.

Save baked texture exports the full-resolution terrain texture with procedural or previously baked dirt and rut markings. Inspection grass remains separate from a loaded full-terrain texture.

Save path downloads a JSON file containing the spline, route markers, terrain scale, elevation mode, widths, smoothing, crown, camber, anchors, and berms. Load path restores those settings and calculates the terrain and full-resolution texture preview. Normalized point positions allow a path to scale to a differently sized displacement map; the editor reports when this occurs.

Each successfully saved or loaded path is also copied into browser recovery storage. After refreshing, Recover last path restores that copy. The downloaded JSON remains the durable, portable save file.

The browser warns before closing or refreshing when path or baked-terrain changes have not been saved. Texture images are not embedded in path files.

Screen capture

Capture PNG or P captures the complete current editor display, including the WebGL terrain and any visible tools, overview, telemetry, and flight instructions. Use T, O, H, and I to choose the desired combination first.

Chrome opens a sharing picker because the capture includes live webpage overlays. Choose This Tab to exclude Chrome's tabs, address bar, and window frame. The capture stream stops immediately after one PNG is saved. Screen capture requires HTTPS or a localhost address.