Create True Scale Terrains – Part 1

The entire workflow:

  • Part 1: Download elevation data as an image, preparations (editing)
  • Part 2: Generate a terrain from texture (WorldMachine)
  • Part 3: Modify the terrain in WorldMachine
  • Part 4: Generate the additional textures from the modified terrain in Substance Painter/Substance Designer
  • Part 5: Create the scene in Maya/Arnold

Part 1:

Download elevation data as an image, preparations (editing)

  • You can download data as images (16 bit/channel GeoTIFF file) here:
  • You have to register via the log in button (NASA Earthdata)
  • Select the area you like (Define Rectangular Area) -> click the download button
  • Select the format and usage
    • Aster Global DEM v2
    • GeoTIFF (if you choose GeoTIFF – 1×1 Tiles you’ll get multiple square images and each tile is 3601×3601 px)
    • you can download it as a compressed zip file as well
    • Choose the Reasearch Area
    • Click Submit
      Screenshot 2017-04-13 20.08.55
  • You’ll get a preview and some really important data
    • write down all the data. It’s important!
      I usually just create a print screen 🙂
  • About the texture:
    • You can open the image in almost any image editing software
      (I recommend Affinity Photo. In Photoshop you don’t get accurate grayscale values. Really strange.)
    • Each greyscale value equals 1 m elevation (above the see level)
    • 1 pixel = approximately 30 m (at the equator!)
  • Usually the texture came with an unnecessary one pixel wide (or one pixel high) pixel-column (or row) at the edge of the image
    • Crop the image to resolve that issue

Two simple way to use it

  • You can use that image directly in Maya after some exposure correction
    (You cannot use the file node’s exposure attribute inside Maya 😦 )

    • In the image editing software:
      Add an exposure adjustment layer and set the value to get a nice looking texture
    • Use the histogram to avoid cilpping
    • Use the Save As… (in Affinity: Export…) command to preserve the original image

Version 1: Texture Deformer

  • Create a polyplane with high subdivision values
  • Set the size (don’t forget: 1 unit is 1 cm)
  • Add a Texture Deformer to it
  • Connect the texture
  • Set to Raw (file node)
  • Turn off Wrap U and Wrap V (place2dTexture node)
  • Set the Strength value (textureDeformer node) – it depends on the actual size of the polyplane and on the texture itself
  • You may have to adjust the Offset value
  • Usually you have to edit the UVs a bit. In the UV Editor execute a Layout command with Tile Padding = 1 px

Version 2: Dispalcement

  • Connect the texture to the shader’s SG (shadingEngine) node via a displacement shader
  • Activate the displacement preview in Viewport 2.0
  • In the mesh node you have to set the Subdivision level. (Arnold section -> Subdivision ->Iterations). Set the type. Don’t forget, you already have some subdiv level (the default is 2) with the Alt+3 preview.
    Displacement preview + Arnold’s subdiv level = total subdiv level
  • Set the displacement Scale as you like it
  • You may have to adjust the Bounds Padding attribute
  • The displacement preview is accurate only if you use true 16 or 32 bit/channel grayscale images as displacement texture

To be continued…

Cheers, D

p. s.

Here is the Tissot’s indicatrix for texture scale corrections:

Tissot's indicatrix


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.