Shading a Globe

  

 

In this tutorial, we will go through the steps of creating a realistic globe and clouds using only shaders. We will add some atmosphere to the horizon with a Volume and a Standard Volume shader. We will also light the scene using a Physical Sky connected to a Skydome light. This scene would make an ideal backdrop for a fictional film about some unfortunate astronauts, for example. Many thanks to Will MacNeil at MPC for providing the scene used for this tutorial.

You will need to download and use these high-resolution textures for use with this scene. Remember to convert the textures to .tx format before rendering.

    • Create a Skydome light to illuminate the scene. Connect a Physical Sky to the Color of the Skydome light. You will need to change the direction of the sun in the Physical sky so that it reflects off of the sea. Reduce the Camera visibility of the Skydome light to 0 so that the Physical Sky is not visible in the camera.

Earth Shader

Hide the Cloud object for the time being. We will focus on the Earth shader first.

Diffuse

      • Assign a Standard Surface shader to the Earth object and rename it 'Earth'. Create a file texture and open the texture Earth Color. Connect the file texture to the Base Color of the Standard Surface shader. This will give us the basic diffuse color for the Earth.

'Earth Color' map connected to Base Color of Earth Standard Surface shader

Specular

Now we want to add a specular map to determine where the sea is reflective and where the land has no specularity.

      • Select the Earth's Standard Surface shader. Create a file texture and open the file Earth Mask. This is the mask that will determine what is shiny (white) and what is matt (black). However, if we look at the image, we can see it is the opposite of what we want. Therefore we need to invert the map. We can do this in the Effects section of the file texture. Enable Invert for the file mask texture. 
      • Connect the Earth Mask to the Specular Weight of the Standard Surface shader.

Land/sea shininess determined by 'Earth Mask' texture connected to specularity of Earth shader

 

Displacement

The Earth's surface is looking a little bit flat. We can add some elevation to the surface using the displacement map - 'Earth Elevation'.

      • Create a file texture and connect it to the Shading Group's Displacement attribute of the Earth's Standard shader. Open the texture Earth Elevation. To see fine detail in the displacement we will need to add some subdivisions to the Earth geometry.
      • Select the Earth geometry. Under the Arnold Subdivision tab, change the Type to Catclark and increase the number of Iterations to 4

Earth terrain is being displaced using 'Earth Elevation' texture (rollover image)

Clouds Shader

The clouds shader is a little bit simpler to setup. We will use the clouds image and connect it to the Emission, Opacity, and Displacement of a Standard Surface shader.

  • Create a Standard Surface shader for the clouds. Rename it to Clouds and assign it to the Cloud object.
  • Create an image texture and open the Cloud image. Connect the cloud image texture to the Opacity, Emission and Displacement attributes.
  • Increase the Emission Scale to around 1. This will determine how bright the clouds appear.
  • Now we need to repeat the steps for the Cloud object that we did for the Earth object for the Displacement of the clouds so that they look like they are floating oven the Earth's surface. Select the Cloud geometry and under the Subdivision tab, change the Type to Catclark and increase the number of Iterations to 4. Under Displacement, increase the Height to around 1.5.

Displacement, Opacity, and Emission of clouds driven by Clouds texture map

Using a Volume for the Atmosphere

Finally, we will create some atmosphere, visible on the horizon, using a volume.

  • Create a sphere. Scale it so that it covers the Earth object.

  • Increase its Step Size to 0.1 in the Arnold attributes.

  • Create a Standard Volume shader and assign it to the sphere. The sphere should now render as a volume.
  • Change the Scatter Color to a light blue color. Increase the Transparent Depth to fine-tune the effect. You could also add a facing_ratio shader here to give a realistic falloff to the atmosphere.
That concludes this tutorial on how to realistically shade a globe. Finally, why not try keyframing the rotation of the cloud and Earth to create a fake time-lapse effect or animate an astronaut plummeting to their death? 

 

 

 

An .ass file is available here.

 

 

 

  • No labels