Difference between revisions of "Heightmap Editing"

Jump to navigation Jump to search
101 bytes added ,  21:18, 24 October 2009
organization, wording, links, typos, images
imported>Truant
(updated images for the geck)
imported>Truant
(organization, wording, links, typos, images)
Line 1: Line 1:
Link to TES4 Construction Set Wiki: [http://cs.elderscrolls.com/constwiki/index.php/Heightmap_Editing Heightmap Editing]
Link to TES4 Construction Set Wiki: [http://cs.elderscrolls.com/constwiki/index.php/Heightmap_Editing Heightmap Editing]


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.
=='''Heightmap Editor'''==
[[image:HeightmapEditor.png|thumb|right|Heightmap Editor Window]]
 
The [[:image:HeightmapEditor.png|Heightmap Editor]] allows you to generate a height map for the landscape in a [[:Category:World Spaces|world space]]. Rather than hand-editing landscape, which is time consuming, this tool allows you to paint the desired heights onto a 2D texture which the heightmap editor then converts to a 3D terrain mesh.
 
The heightmap editor is a high level tool suitable for massive landscape terrain alteration but with experience and the proper settings it can achieve a fairly fine degree of detail. With this program it is possible to create, sculpt, refine and even erode large sections of a landscape. Local, or high detail landscape editing functionality is still retained in the [[:Category:Landscape|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|Editing Toolbar]], [[#Brush/Erosion Parameters|Brush Parameters]], and [[#Editing/Overview/Preview/Color Masking Windows|Editing Window]].


It is strongly recommended that your computer meet or exceed recommended specification to use this.
It is strongly recommended that your computer meet or exceed recommended specification to use this.
=='''Heightmap Editor'''==
[[image:HeightmapEditor.png|thumb|right|Heightmap Editor Window]]
The [[:image:HeightmapEditor.png|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 [[:Category:World Spaces|world space]]. Local, or high detail landscape editing functionality is still retained in the [[:Category:Landscape|landscape editor]]. The Heightmap Editor window (accessible from the '''World/Heightmap Editing''' pull down menu in the main menu bar, or from the [[Buttons|globe icon]] on the main editor toolbar) is divided up into 3 main sections: [[#Main Menu/Editing Toolbar|Editing Toolbar]], [[#Brush/Erosion Parameters|Brush Parameters]], and [[#Editing/Overview/Preview/Color Masking Windows|Editing Window]].


=='''Main Menu'''==
=='''Main Menu'''==
Line 20: Line 23:
:*'''DeleteAllCells''' This option will flag all cells for that world space as deleted.
:*'''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. These should be located in your "Oblivion\Data\HeightField" directory and named according to [http://cs.elderscrolls.com/constwiki/index.php/Image:Overviewgrid.jpg this grid] (ex: Oblivion\Data\HeightField\0_0.raw). The files should also have been saved with these Raw Option settings: Header: 0, Non-interleaved Order, Count: 1, Depth: 16 Bits, Byte Order: IBM PC.
:*'''Import''' This option allows you to use 1024x1024 16-bit RAW format images as a starting template for heightmap painting. These should be located in your "Data\HeightField" directory and named according to [http://cs.elderscrolls.com/constwiki/index.php/Image:Overviewgrid.jpg this grid] (ex: Data\HeightField\0_0.raw). The files should also have been saved with these Raw Option settings: Header: 0, Non-interleaved Order, Count: 1, Depth: 16 Bits, Byte Order: IBM PC.


:*'''Export''' This option allows you to export heightmap sections in 1024x1024 16-bit RAW format images. The files are created to the main Oblivion folder ("C:\Program Files\Bethesda Softworks\Oblivion" with default installation) and named "Q1.raw" through "Q4.raw". These files can be opened in Photoshop with these Raw Option settings: Count: 1, Depth: 16 Bits, Byte Order: IBM PC.  (Paint Shop Pro does not seem capable of handling 16bpp .raw files.)
:*'''Export''' This option allows you to export heightmap sections in 1024x1024 16-bit RAW format images. The files are created to the main Fallout 3 folder ("C:\Program Files\Bethesda Softworks\Fallout 3" with default installation) and named "Q1.raw" through "Q4.raw". These files can be opened in Photoshop with these Raw Option settings: Count: 1, Depth: 16 Bits, Byte Order: IBM PC.  (Paint Shop Pro and the Gimp do not seem capable of handling 16bpp .raw files.)


:*'''Generate LOD''' This option is no longer supported in the GECK. Use the [[World LOD]] menu option from the World menu instead.
:*'''Generate LOD''' This option is no longer supported in the GECK. Use the [[World LOD]] menu option from the World menu instead.
Line 95: Line 98:
:*'''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 automated noise generation. Range: 1-10000
:*'''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 automated 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 automated noise generation. Range: 1-32000
:*'''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 automated noise generation. Range: 1-32000
:*'''Base Offset''' Use the slider and/or the number field to set a clamp value, in [[exterior cells|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 automated 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 automated 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 ∞
:*'''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 automatically 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.
:*'''Additive''' Use this checkbox to ensure that automatically 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.
Line 112: Line 115:


=='''Editing/Overview/Preview/Color Masking Windows'''==
=='''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 [[exterior cells|units]], of the pixel directly below the center of the current brush/cursor are displayed below the editing window.
*'''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.
[[image:HeightmapOverviewWindow.png|thumb|right|Overview Window]]
*'''Overview Window''' This window shows a macro view of all editable heightmap sections for the currently loaded world space 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 be 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 [[#Main Menu|overview generation]] for more information on generating the overview window image.
*'''Overview Window''' This window shows a macro view of all editable heightmap sections for the currently loaded world space 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 be 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 [[#Main Menu|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 [[exterior cells|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.
[[image:HeightmapPreviewWindow.png|thumb|right|Preview Window]]
*'''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.
[[image:HeightmapColorMask.png|thumb|right|Color Masking Window]]
[[image:HeightmapColorMask.png|thumb|right|Color Masking Window]]
*'''Color Masking''' The color masking window allows the grayscale heightmap to be shaded in color, to better help visualize and spatially 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, you can 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 of 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 [[exterior cells|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. 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 [[exterior cells|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
*'''Color Masking''' The color masking window allows the grayscale heightmap to be shaded in color, to better help visualize and spatially 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, you can 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 of 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. 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
*'''Height Conversion''' It's important to know how the height units in the heightmap editor relate to the actual terrain elevation when the map is saved to the plugin. Water level (defaults to z=0 in exterior cells) corresponds to z=4096 on the height map. Moreover, all differences from this value are doubled in the generated terrain. For example, z=4196 doesn't give a terrain height of 100, but 200 instead. Following this formula, the default height in the heightmap editor (3072) results in an ocean depth of -2048 units.
*'''Height Conversion''' It's important to know how the height units in the heightmap editor relate to the actual terrain elevation when the map is saved to the plugin. Water level (defaults to z=0 in exterior cells) corresponds to z=4096 on the height map. Moreover, all differences from this value are doubled in the generated terrain. For example, z=4196 doesn't give a terrain height of 100, but 200 instead. Following this formula, the default height in the heightmap editor (3072) results in an ocean depth of -2048 units.


=='''Notes'''==
=='''Notes'''==
*'''Mesh errors:''' The heightmap editor frequently creates some errors in the generated landscape mesh. These are most frequently located in cell 0,0 and the corners of each quad. These are rips in the mesh that cause errors when saving the esp. When you save it and get error messages about the CS being unable to create the mesh for a cell, write down the cell cordinates (don't hit "yes to all"). If you quit before fixing these errors, on reloading your mod the entire cell will be "missing" e.g. be set to elevation 0, which is hard to fix. To avoid this, load up the cells with errors in the render window, switch to wireframe view (w), and turn on the cell borders (b). Look around the edges of the cell (most often its the lower left corner), and if you find the anomaly, use the soften or flatten vertices tool to mend the mesh. In general, it is best to correct these errors with the local landscape editing tools as corrections done with the heightmap editor can re-introduce the same errors during the saving process - even after initially fixing them.
*'''Mesh errors:''' The heightmap editor frequently creates some errors in the generated landscape mesh. These are most frequently located in cell 0,0 and the corners of each quad. These are rips in the mesh that cause errors when saving the esp. When you save it and get error messages about the CS being unable to create the mesh for a cell, write down the cell coordinates (don't hit "yes to all"). If you quit before fixing these errors, on reloading your mod the entire cell will be "missing" e.g. be set to elevation 0, which is hard to fix. To avoid this, load up the cells with errors in the render window, switch to wireframe view (w), and turn on the cell borders (b). Look around the edges of the cell (most often its the lower left corner), and if you find the anomaly, use the soften or flatten vertices tool to mend the mesh. In general, it is best to correct these errors with the local landscape editing tools as corrections done with the heightmap editor can re-introduce the same errors during the saving process - even after initially fixing them. ''This note refers to the Construction Set version of the editor. These errors no longer seem to occur with the GECK.''
*'''Go easy!:''' It's very easy to overdo it with raising land, creating huge unnavigable mountain ranges instead of the nice hilly landscape you planned, especially when using the standard color masking options. Go easy when raising the land, keep the intensity low, and maybe adjust the color masking options to something more sensitive for the lower elevations. The values and colors depicted in this [[:image:colormasking.jpg|image]] were used to generate and shape Cyrodiil for TES:IV Oblivion.
*'''Go easy!:''' It's very easy to overdo it with raising land, creating huge unnavigable mountain ranges instead of the nice hilly landscape you planned, especially when using the standard color masking options. Go easy when raising the land, keep the intensity low, and maybe adjust the color masking options to something more sensitive for the lower elevations.
*'''Raw files:''' The heightmap editor will automatically load any .raw files in your HeightField folder into the canvas window, so if you have been using .raw files and you want to work on a new heightmap that does not use .raw files you will have to remember to remove them to access your new heightmap.
*'''Raw files:''' The heightmap editor will automatically load any .raw files in your HeightField folder into the canvas window, so if you have been using .raw files and you want to work on a new heightmap that does not use .raw files you will have to remember to remove them to access your new heightmap.


[[Category:World]]
[[Category:World]]
Anonymous user

Navigation menu