Heightmap Editing

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search

Heightmap Editing allows you to generate a height map for the landscape in the world. Rather than hand editing landscape which is time consuming, this tool allows you to paint the heights onto a texture and generate the terrain based on what you've painted in.

It is strongly recommended that your computer meet or exceed recommended specification to use this.

Heightmap Editor

Heightmap Editor Window

The Heightmap Editor is the tool used for massive landscape terrain alteration. With this program it is possible to create, sculpt, refine and even erode large sections of landscape cells for a world space. Additionally, LOD landscape geometry and textures can be generated through the Heightmap Editor. Local, or high detail landscape editing functionality is still retained in the landscape editor. The Heightmap Editor window (accessible from the World/Heightmap Editing pull down menu in the main menu bar, or from the globe icon on the main editor toolbar) is divided up into 3 main sections: Editing Toolbar, Brush Parameters, and Editing Window.


Main Menu/Editing Toolbar

The main menu and editing toolbar contain quick shortcuts to most of the basic heightmap editor functionality.


Main Menu

  • File:
  • Save allows the current state of the loaded heightmap to be saved to your plugin.
  • ReLoad allows a prior saved-state of the loaded heightmap to be reloaded. Another good way to reload an earlier state is to refresh the current editing window by clicking on the corresponding heightmap section in the overview window.
  • DeleteAllCells This option will flag all cells for that world space as deleted.
  • Import This option allows you to use 1024x1024 16-bit RAW format images as a starting template for heightmap painting.
  • Export This option allows you to export heightmap sections in 1024x1024 16-bit RAW format images.
  • Generate LOD This option allows you to generate LOD meshes, in Gambryo's .nif file format, for use in the game world. Additionally, the LOD generation process will create normal maps based off of the terrain height information for the LOD terrain textures, as well as combining the terrain LOD mesh normal maps with any potential user-made terrain LOD texture normal maps. The final results for the texture combinations are saved out as .dds format files, with an _FN suffix in the file name. There are two LOD generation options, which vary only in generation speed and accuracy. They are Quick Prototype and Full and are less accurate but faster, and more accurate but slower, respectively.
  • Exit This option simply closes the Heightmap Editor.
  • View:
Overlay Grid Breakdown
  • Show Overlay This option enables you to superimpose any 1024x1024 .jpg format overlay images on top of the heightmap editing window, to aid in painting. The opacity of the overlaid image is controlled via the Overlay Alpha slider under the erosion settings dialogue. The farther the slider is to the right, the more the overlay image is visible.
  • Gridlines This toggles the grid line overlay on and off in the heightmap editing window. Each square represents one exterior cell.
  • Color Masking This option brings up the color masking window.
  • Overview This option toggles on and off the overview window.
  • Regenerate Overview This option will have the Heightmap Editor sequentially load each 1024x1024 section for a world space and compile a composite .jpg thumbnail image used in the overview window for navigation.
  • Edit:
  • Undo This option will allow you to undo the last few brush edits to the heightmap editing window. A handy alternative to the undo option is to refresh an unsaved heightmap section by reloading it via the overview window.
  • Copy This option allows you to copy the raw pixels within any lasso/marquee shape currently drawn in the heightmap editing window into memory. The edit cursor will change to reflect the shape of the selection. Simply left-click to past the desired pixels. A right-click will cancel out of the pasting mode. Shortcut: Ctrl-C
  • Invert Selection This option will select the inverse of any pixels contained by lasso or marquee shapes in the heightmap editing window.

Editing Toolbar

Button descriptions left to right:
  • Save This button saves the current state of the loaded heightmap section to your plugin.
  • Undo This button will allow you to undo the last few brush edits to the heightmap editing window.
  • Grid This button toggles the heightmap editing window cell grid overlay.
  • Color Masking This button brings up the color masking window.
  • Marquee This button allows you to draw a rectangular selection shape around specific pixels for more controlled heightmap editing, eroding, or for pixel copying.
  • Lasso This button allows you to draw a curvilinear selection shape around specific pixels for more controlled heightmap editing, eroding, or for pixel copying.
  • Flatten This button toggles as brush that will clamp all pixels inside the cursor to be the same color as the pixel directly under the cursor's center crosshair in the heightmap editing window. Shortcut: A
  • Raise This button toggles a brush that will paint white to the pixels under the cursor in the heightmap editing window. With this brush selected, the left mouse button acts as raise, and the right mouse button acts as lower. Shortcut: S
  • Lower This button toggles a brush that will paint black to the pixels under the cursor in the heightmap editing window. With this brush selected, the left mouse button acts as lower and the right mouse button acts as raise. Shortcut: D
  • Smooth This button toggles a brush that will average the differences in color between the pixels under the cursor in the heightmap editing window. Shortcut: F
  • Noise This button toggles a brush that will paint a mottled black and white pattern, as determined by the noise parameters, to the pixels under the cursor in the heightmap editing window. Shortcut: G
  • Smudge This button toggles a brush that will intensely average the differences in color between the pixels under the cursor in the heightmap editing window. Shortcut: H
  • Preview This button brings up the preview window.
  • Overview This button toggles the display of the overview window.
  • Paintbrush This button toggles a brush that will paint the currently selected color under the cursor in the heightmap editor window. Shortcut: B
  • Eyedropper This button toggles a crosshair that will allow you to select the color of the pixel directly under the cursor. The currently selected color is indicated by the swatch next to the eyedropper icon.

Brush/Erosion Parameters

  • Brush Control:
  • Size Use the slider and/or the number field to change the size of any heightmap edit brush including flatten, raise, lower, smooth, noise, smudge, and paint. To quickly change the size of any current edit brush, press and hold either the left Shift button or the left Ctrl button while scrolling the middle mouse button to alter the brush size +/- one step at a time, or 10 steps at a time, respectively. Range: 1-300
  • Intensity Use the intensity slider and/or the number field to alter the speed at which the current heightmap edit brush effect is applied to the heightmap. The higher the number, the more quickly the current brush alters the pixels within range of the cursor. Affects the flatten, raise, lower, smooth, noise, smudge, and paint brushes. Range: 0-4000
  • Falloff Use the slider and/or the number field to alter the range (in pixels) at which the current edit brush will taper off towards the edge of the brush shape. The higher the number, the more gradual the effect will taper off towards the edge of the edit brush cursor. Affects the flatten, raise, lower, smooth, noise, smudge, and paint brushes. Range: 20-100
  • Noise Parameters:
  • Frequency Use the slider and/or the number field to alter the complexity or coarseness of the noise pattern. The higher the number, the more noisy and mottled the effect will be. Affects the noise brush and is taken into account via manual noise generation. Range: 1-10000
  • Amplitude Use the slider and/or the number field to alter the maximum height range (black<->white) of the noise pattern. The greater the amplitude, the greater the contrast between the darkest (lowest) and brightest (highest) portions of the noise pattern. Affects the noise brush and is taken into account via manual noise generation. Range: 1-32000
  • Base Offset Use the slider and/or the number field to set a clamp value (in units) for which the noise pattern is started from. The higher the value, the higher the elevation for which the noise pattern will generate. Affects only manual noise generation. Range: 1-32000
  • New Seed Press the New Seed button to manually generate a new seeded value for the current noise function. The seed numbers are used to recall a particular set of results for the various characteristics that make up a randomly generated noise pattern. Use the neighboring number field to manually cut, copy, paste or enter in seed numbers. Range: 0 to ∞
  • Additive Use this checkbox to ensure that manually generated noise will only be added to, or raise the current heightmap pixels. Note that it is possible to have both the Additive and Subtractive checkboxes enabled at the same time. In this case, noise will be generated that can both raise and lower the heightmap pixels.
  • Subtractive Use this checkbox to ensure that manually generated noise will only be subtracted to, or lower the current heightmap pixels. Note that it is possible to have both the Additive and Subtractive checkboxes enabled at the same time. In this case, noise will be generated that can both raise and lower the heightmap pixels.
  • Random Seed Enable this checkbox to ensure that a new, random seed number is used for each manual noise generation pass.
  • Persistence Use the slider and/or the number field to specify how the frequency value is modulated by the amplitude per each octave. Higher numbers usually equate to a noisier pattern. Affects only the noise brush. Range: 0-100
  • Octaves This is the number of successive noise function passes involved in final noise generation. The higher the number, the more passes, or layers are involved in the noise generation and the more complex the patter will appear. Affects only the noise brush. Range: 0 to ∞
  • Generate! Use this button to manually generate a noise pass onto the currently selected heightmap section. This button will take into account the frequency, amplitude, base offset, additive, subtractive, seed# and random seed parameters and flags. The area of generation can also be further controlled by the lasso and marquee selection tools.
  • Erosion Settings:
  • Iterations Use the slider and/or the number field to control how many steps or passes the Heightmap Editor will use when generating erosion. The higher the number, the more passes will be made allowing for more detailed erosion, and will greatly impact how long generation will take. Range: 1-100
  • Erosion Rate Use the slider and/or the number field to control how quickly the erosion process occurs during the generation pass. The higher the number, the more quickly and intensely surfaces will erode away from the starting shape. Range: 1-100
  • Sedimentation Use the slider and/or the number field to control how much of the eroded land will deposit at the base of eroded gullies and canyons. The higher the number, the more land will be cut away and deposited at the base of eroded areas. Range: 1-100
  • Land Smoothing Use the slider and/or the number field to control how smooth the heightmap will after an erosion pass. The higher the number, the more that rough surfaces will be evened out and smoothed down during an erosion process, to better simulate weathering. Range: 1-100
  • Erode Press this button to start an erosion pass based off of the iterations, erosion rate, sedimentation and land smoothing parameters. The area of erosion can also be further controlled by the lasso and marquee selection tools.

Editing/Overview/Preview/Color Masking Windows

  • Editing Window This window displays the currently loaded heightmap section and allows for the various editing brushes to alter the pixels of 4 1024x1024 16-bit grayscale heightmap images. To navigate the window, press and hold the middle mouse button to pan around and scroll the mouse wheel up or down to zoom in and out, respectively. Note that the current cell coordinate and the XYZ positions, in units, of the pixel directly below the center of the current brush/cursor are displayed below the editing window.
  • Overview Window This window shows a macro view of all editable heightmap sections for the currently loaded worldspace in a 16x16 grid. To switch focus in the editing window to a new heightmap section, simply click in the center of the 4 sections you wish to load, on the overview window. This is also useful if you would like to quickly reload or refresh the current 4 cells you are editing. The overview window can toggled on and off via the overview icon on the toolbar, next to the camera icon, and can be resized and moved if desired. See the section on overview generation for more information on generating the overview window image.
  • Preview Window This window offers a 3D visualization for the currently selected heightmap section. To bring up the preview window, press the camera icon on the Heightmap Editor toolbar. To navigate around the preview window, press and hold the left mouse button while dragging to spin the landscape mesh inside the viewport. Press and hold the middle mouse button to zoom the view in and out. Press and hold the right mouse button to pan the landscape mesh laterally around the window. To quickly update or refresh the preview window after a heightmap change, press the Spacebar, or press the Refresh button. Holding down the Ctrl key while moving the mouse will adjust the point of origin for the preview window lightsource. Holding down the Left or Right Shift key while moving the mouse will update the position of the magenta scale reference character. This simple 3D box is a rough representation of a person, or 128 units of vertical height. The 3 radial buttons at the top of the preview will switch the viewport display between Solid, Wireframe and Points modes. The preview window can be resized and moved if desired. Note that the preview window will reflect the current selection within the loaded heightmap section. For a finer granularity (more accurate) preview mesh, try selecting a smaller section in the heightmap edit window with the marquee or lasso tools to preview. In order for the preview mesh to reflect this change, the preview window must be closed and re-opened so that the mesh can be redrawn to the new size.
Color Masking Window
  • Color Masking The color masking window allows the grayscale heightmap to be shaded in color, to better help visualize and spacially organize the height range of the heightmap editor. Through its interface, one can also filter and isolate specific height ranges to work in. To bring up the color masking window, press the color mask icon, between the grid and marquee icons, or choose it from the View pull-down menu. With the window open, it is possible to see that there are 10 mask ranges - all of which can be individually scaled and adjusted to shade the pixels within the defined height range for that particular mask. To change the color for a mask, simply click on the swatches below the sliders to adjust the color respectively through the standard Windows color picker. The color mask system will specify that any pixel in the heightmap at that height (in units) will be shaded that color, and will interpolate smoothly to the next masking step above or below. For example, suppose you wanted to have all pixels below the water level be blue. You could simply set one masking level to be blue and to have a height value that is the same as the sea level. Simply set the next masking step to be one unit above the masking level, and to have a different color. There should now be a clear distinction on the heightmap of what is below and above the water line. It is also possible to use the color masking tool to temporarily prevent certain height ranges from being edited. In the previous example, you could block all pixels below the water level from being editable by making sure the minimum value for all of the 10 masks was at or above the water level height. This temporarily tells the editor that there are no alterable pixels below the specified height. Later, this height can be readjusted via the color masking to open it back up for editing. To set a height range for any mask, simply adjust the sliders or enter in a numerical value, in units, within the number fields above each mask. It is also possible to change the colors of the grid overlay and the edit cursor in this window by clicking on their respective swatches, and choosing a color through the Windows color picker. Press OK to accept the changes and close the color masking window. Press the Cancel button to discard any changes and close the color masking window. Press Reset to revert back to the default settings. Range: 0-65535