TerraLand Moon Surface Generation Tutorial Part 1
Yesterday I had some time to check those moon datasets and generate terrains out of them using TerraLand plus some extra steps out of Unity.
Following is a quick tutorial on how I could get, edit, convert and finally use the elevation data and generate detailed terrains from them using TerraLand in Unity.
For external programs you will need Photoshop & j2k (free plugin).
We will be using the highest resolution 59 meters Earth’s Moon elevation data from NASA USGS (LOLATeam and KaguyaTeam) in here:
The data acquiring project is published on 4th of February 2015 and the coverage is only available from -60 to 60 degrees in latitude*.
*For the full global coverage of Moon you can use the dataset in lower resolution of 118m from HERE.
- Go to this page: http://imbrium.mit.edu/EXTRAS/SLDEM2015/TILES/ which includes dataset tiles. In this case, download the JP2 file as shown in the following picture:
- Go to this page: http://www.fnordware.com/j2k/ and download plugin. To install the plugin in Photoshop, copy the appropriate plug-in to the appropriate host’s Plug-Ins folder.
- Open the downloaded JP2 file in Photoshop so the JP2 image file will be loaded into Photoshop as the following picture:
- Go to Image => Mode and check if the image is Grayscale & 16 Bits/Channel as the following picture. (The JP2 image is already grayscale and 16 bits, so this is just to ensure for other occasions)
- The loaded image has dimensions of 23040 x 15360, so we need to crop part of it in order to be used in our scene. We are going to crop a 4097 resolution of the heightmap in center*. Go to Image => Canvas Size and set the Width & Height pixels to 4097 as the following picture:
*Normally you have to set a power of 2 plus 1 resolution for the heightmap to be loaded correctly in most applications, but you can choose any resolution to be used in TerraLand. Of course TerraLand resamples the given data and matches it with the closest power of 2 resolution to generate terrain heights. So any value close to PO2 is recommended as data resampling causes banding artifacts and unwanted jagged terraces.
- Save the cropped file by going to File => Save As and save the file in RAW format by selecting “Photoshop Raw (*.RAW)” in Save as type drop-down menu and click Save.
- Go to Unity that has TerraLand loaded in it and drag and drop the exported Raw heightmap some where in your project.
- Bring up the “TerraLand Terrain” component by going to Tools => TerraUnity => TerraLand => Terrain.
- In TerraLand Terrain, go to the OFFLINE DATA section, select RAW tab and drag & drop the imported Raw heightmap into the field of RAW.
- Set the “Smooth Steps” value to zero in order to load the elevation data intact and as original as the following picture. We will Smooth out and process the heightmap later if needed.