GIMP and the Unity terrain system

Originally posted 24 July 2013 on an old blog

I'm working on a small jam project in Unity, for the purposes of which I needed wanted to import a greyscale heightmap into Unity's reasonably-okay terrain system. Strangely, Unity only accepts .raw files as heightmaps, and I wasn't able to find a satisfactory explanation online of how to export from the GIMP in a format that Unity will understand.

After a small amount of fiddling, I got it to work, so I'm writing down the process here, for posterity and glamour.

First off, I searched for "usgs heightmaps" in Google Image Search and found the following image, which I opened in GIMP:

I cropped and resized the image -- note that your heightmap dimensions must be a power-of-two plus one, or 33x33, 65x65, 129x129, 257x257, 513x513, &c...

Next, from the GIMP, I chose File -> Export..., and exported the image as a .raw file:

Note that "Raw image data" is selected in the file type selection box. When you hit Export, set the following options:

Your image should be saved in the appropriate format.

Next, open your project in Unity, and add a Terrain to the scene (I'm assuming you've done that already, and don't need my help). To import our newly-created .raw file, go to the Terrain settings and hit "Import Raw..."

Use the following settings in the "Import Heightmap" dialogue:

Yoda willing, that should just about cover it, and your terrain should look terrainy:

Excelsior.