Heightmap Image Converter


The HIC is a tool to convert images to and from heightmap data used by landscape creation/editing tools, including the Unreal Development Kit's. It can take exported heightmap and layer data from the UDK Landscape system, convert the raw data files to various image files that can then be edited using image editing software such as Photoshop or GIMP. It can then convert those images back into raw data to be imported into the UDK. This can be useful because it's often easier to edit a 2D image rather than a 3D mesh. It's also useful for creating heightmap/layer data from images output by other landscape creation/editing software.


The HIC is a very simple program to use. You can import/export raw data and formatted images, rotate the images in 90 degree steps, and flip them horizontally or vertically. There are no other editing capabilities - there are many other free image editing software packages for that (such as GIMP).

There are separate options under the raw import/export menu items for "UDK" and "Other Software" packages. The reason for this is that if the data is going to/coming from the UDK, HIC needs to rotate the image 90 degrees (counter clockwise on import, clockwise on export) in order to display it as expected. The UDK's coordinate system is different than most image editing software (ie: Z is up and down, X is forward and backward and Y is left and right), so when the UDK imports/exports the image data, it's essentially rotated 90 degrees off from what image editors expect. There are also options under the "Rotate" menu item to rotate the image manually and under the "Flip" menu item to flip the image horizontally or vertically.

Importing Raw Data

When you import raw data, whether from UDK or another landscape editor, there is no way to tell what the image's dimensions are. The raw data is just one long binary sequence of 8-bit or 16-bit pixel information, so there is no concept of "width" or "height". HIC will attempt to calculate the image's dimensions based on the length of the data, but unless the image is square, it probably won't get it right. Therefore, when you import raw data, you'll need to enter the dimensions of the image.

As mentioned earlier, if you are importing the data from a UDK exported heightmap or layer, HIC will rotate the pixel data 90 degrees counter clockwise before displaying the image. This should only take a few seconds depending on the speed of your computer and the size of the image.

Importing Formatted Images

When you import a formatted image, HIC will automatically convert it to grayscale. Full color images cannot be used for heightmap or layer data. The black and white values in a 16-bit heightmap are used to determine the z values of the UDK landscape. In an 8-bit layer data file, they represent the blend of that layer material.

Also, remember that the UDK landscape system can only support certain image dimensions for heightmap data. There's a complicated formula for figuring out which dimensions are supported and a list of recommended dimensions here.

External Resources

Some of the functionality for the HIC was taken and modified from other resources. Links are listed here for credit and thanks: