🏆 MaxPkg Developer Contest! Upload your scripts and compete for cash prizes: 🥇 $100 · 🥈 $50 · 🥉 $25. Join the contest and publish your package today!

Join the contest
Back to Catalog

Height Map Studio

by    Verified developer: this is a confirmed official developer.   3DGROUND

Package icon

Generate Normal, Displacement, AO and Specular maps from a height image with GPU previews and selected-map Slate integration.

Textures & Maps v1.1.2 3ds Max 2012–2027 Free
This script requires purchase. maxpkg does not process payments or take responsibility for purchases. Payment is handled by the developer. Read the documentation for full purchase details.
specular ao map generator displace normalmap
Developer
Verified developer: this is a confirmed official developer.3DGROUND
Rating
☆☆☆☆☆ 0.0 (0)
Downloads
22
Version
v1.1.2
3ds Max
2012–2027
Size
100 KB
Updated
September 22, 2026
License
Free

Height Map Studio generates Normal, Displacement, Ambient Occlusion and Specular maps from a single height image directly inside 3ds Max.

Load a PNG, TIFF or JPG image, adjust each map with simple controls and see the result immediately using the interactive 2D or 3D preview. The 3D preview lets you test the generated surface on a Sphere, Plane or Cube and independently enable Normal, Displacement, AO and Specular effects.

When your maps are ready, select the ones you need and save them all with a single click. Generated textures can be saved automatically next to the source image and then added directly to the Slate Material Editor.

Height Map Studio is useful for quickly preparing materials for Archviz, Game Development, VR, real-time visualization and other 3D workflows.

Key Features

  • Generate Normal, Displacement, AO and Specular maps from one height image
  • Interactive 2D and 3D preview
  • Preview on a Sphere, Plane or Cube
  • Enable or disable individual maps in the 3D preview
  • Displacement preview with visible surface depth and silhouette changes
  • Independent settings for every map type
  • Normal Detail Size filtering for removing small surface features
  • OpenGL / DirectX normal orientation
  • Height inversion
  • Seamless wrapped edge filtering
  • Drag & drop image loading
  • Save multiple maps with a single click
  • Automatically save maps next to the source image
  • Add saved maps directly to Slate Material Editor
  • PNG, TIFF and JPEG output
  • 16-bit Displacement export with PNG and TIFF
  • Source images up to 8192 × 8192

Installation

Typical maxpkg installation process, more info in Install tab.

Quick Start

  1. Drag a PNG, TIFF or JPG into the window, or click Open image.
  2. Open the Normal, Displace, AO or Specular tab.
  3. Adjust the map settings while watching the 2D or 3D preview.
  4. Under Set, check the maps you want to export.
  5. Select PNG, TIFF or JPEG.
  6. Click Save.
  7. Optionally click Add to Slate to add the saved textures to Slate Material Editor.

A bundled sample image is loaded automatically when the tool starts without a source image, so you can test all controls immediately.

Map Controls

Each map has its own settings. Adjusting one map does not reset or modify the settings of the others.

MapControlDescription
NormalStrengthControls the intensity of the generated surface relief.
NormalBlurSoftens edges and small details.
NormalDetail SizeRemoves smaller bumps and grooves while preserving larger surface forms.
DisplacementContrastControls the difference between low and high areas.
DisplacementLevelAdjusts the height range offset.
DisplacementBlurSoftens small height variations and transitions.
AOStrengthControls the intensity of the generated ambient occlusion.
AORadiusControls how broadly surrounding height information contributes to AO.
AOThresholdSuppresses shallow height differences so AO reacts primarily to larger details.
SpecularBrightnessAdjusts the overall brightness of the generated mask.
SpecularContrastControls separation between dark and bright areas.
SpecularCompressMoves dark and bright values toward 50% gray.

Normal Detail Size

Detail Size is different from Blur.

Instead of simply softening the image, it flattens smaller bumps and grooves into simpler regions while preserving larger forms.

The range is 0–64 source-image pixels:

  • 0 preserves the original height information.
  • Higher values remove progressively wider features.
  • Large values can merge nearby surface regions.

A nearly circular feature filter is used to avoid the obvious square structures that a simple rectangular filter can produce.

You can apply Blur afterward if the remaining edges need to be softened.

Blur

Normal and Displacement have independent Blur controls with a range of 0–16 source-image pixels.

Changing Normal Blur does not affect Displacement Blur and vice versa.

AO Threshold

Threshold determines how much height difference can be ignored when generating AO.

At 0, the original AO calculation is preserved. Increasing the value suppresses shallow height variations, while larger differences contribute only the portion above the selected threshold.

This is useful when a height image contains fine noise or micro-detail that should not produce strong AO.

Specular Compress

Compress is applied after Brightness and Contrast and moves the finished Specular mask toward 50% gray.

CompressResult
0Original generated mask
0.5Black/white extremes move approximately to 25%/75% gray
1Entire mask becomes 50% gray

AO and Specular are generated only from the available height information. They should therefore be treated as useful approximations rather than physical measurements of the original material.

Advanced Options

Open Advanced for additional map-generation options.

OptionDescription
OpenGL / DirectXChanges the Normal map orientation for different renderer or engine workflows.
Invert HeightReverses raised and recessed height information.
Seamless EdgesWraps filtering across opposite image edges to reduce border discontinuities.

Seamless Edges is enabled by default.

Wrapped filtering works best when the original source image is already seamless. It helps filtering operations continue across texture boundaries instead of treating each edge independently.

2D Preview

Use 2D mode to inspect the generated texture directly.

Select a map tab to see its current result, or choose Source to inspect the original image.

ControlAction
Mouse wheelZoom in or out
Left-dragPan the image
FitFit the image inside the preview
Double-clickRestore the default view
SourceDisplay the original source image

Changes to map settings are reflected directly in the preview.

3D Preview

Switch to 3D to evaluate how the generated maps affect a surface.

The preview starts with a Sphere, and you can switch between:

  • Sphere
  • Plane
  • Cube
ControlAction
Mouse wheelZoom in or out
Left-dragRotate the model
Right-drag horizontallyRotate the light around the model
Reset ViewRestore the model, view and light position
Double-clickReset the view

Switching between 2D and 3D does not reset your generated map settings.

Preview Menu

The Preview menu appears in the upper-left corner while using 3D mode.

It independently controls which generated effects are displayed on the preview material:

  • Normal
  • Displace
  • AO
  • Specular

Any combination can be enabled.

For example, you can disable Specular while evaluating Normal and Displacement without changing any Specular generation settings.

The menu remains open while you toggle effects and uses white check marks to show which effects are active.

These options affect only the 3D preview. They do not change:

  • The active editing tab
  • Generated map settings
  • The 2D preview
  • Maps selected under Set
  • Exported map values

Your Preview selection is remembered when switching between views.

Displacement Preview

Unlike a simple bump preview, Displacement changes the approximate height surface on all three preview shapes and can affect their silhouettes.

The preview uses a fixed displacement depth of 0.12 model units across the full height range.

It is intended for quickly judging the generated height information, not for reproducing the exact displacement implementation of a particular renderer.

Very fine relief, grazing angles, UV seams and renderer-specific tessellation may produce different results in the final render.

The exported Displacement map is not affected by these preview limitations.

Reset Settings

Click Reset Settings to restore the default controls for the currently active map.

It does not reset all maps.

For the Normal map, Reset Settings also restores the default OpenGL orientation.

The following are preserved:

  • Settings of other maps
  • Invert Height
  • Seamless Edges
  • Current view

Settings

Open Settings to adjust the maximum ranges available for the sliders.

This is useful when the standard slider range is too narrow or too wide for a particular source image.

Saving Maps

The Set section controls which generated maps will be saved.

You can select any combination of:

  • Normal
  • Displace
  • AO
  • Specular

Then choose the output format and click the single Save button.

The selected maps are exported regardless of which map tab is currently visible.

Save Beside Source

With Save beside source enabled, the selected maps are automatically saved into the same folder as the original source image.

No destination dialog is required.

MapFilename Suffix
Normal_normal
Displacement_displacement
AO_ao
Specular_specular

If a generated file already exists, Height Map Studio asks for confirmation before replacing it.

The bundled sample has no original source folder, so when saving from the sample for the first time, you will be asked to choose an output folder.

Custom Output Location

Disable Save beside source if you want to select the destination manually.

When only one map is selected, you can choose its filename.

When multiple maps are selected, choose an output folder and Height Map Studio will create all selected maps there.

Quick Access to the Source Folder

Right-click the Save button to open the source image folder directly in Windows Explorer.

This is useful for quickly accessing both the original image and generated maps.

Output Formats

FormatNormalDisplacementAOSpecular
PNG8-bit16-bit8-bit8-bit
TIFF8-bit16-bit8-bit8-bit
JPEG8-bit8-bit8-bit8-bit

JPEG uses lossy compression and saves every generated map as 8-bit, including Displacement.

For Displacement, PNG or TIFF is recommended when additional height precision is required.

Generated maps always use the resolution of the source image. Images up to 8192 × 8192 are supported.

PNG and TIFF height images can retain their 16-bit precision on input.

Add to Slate

After saving the maps, click Add to Slate to add the generated textures to the Slate Material Editor.

Add to Slate uses the map types currently checked under Set.

For example, if Normal, Displace and AO are checked, the tool attempts to add those three saved textures.

The created nodes are:

  • Arranged vertically
  • Automatically selected
  • Framed in Slate

Existing nodes remain in their current positions.

If one or more selected maps have not been saved, their names are displayed in the status line. Any other selected maps that are available can still be added.

Add to Slate does not generate or save maps. Use Save first.

It also does not automatically connect the nodes to a material. This allows you to decide how each generated texture should be used in your particular Corona, V-Ray, Arnold or other material setup.

Notes

The 2D and 3D previews are designed for quickly evaluating generated texture information. The 3D preview is not intended to reproduce the exact final result of Corona, V-Ray, Arnold, a game engine or another renderer.

AO and Specular maps are approximations generated from the source height information. Their final interpretation depends on your material and rendering workflow.