home about gallery publications education links contact


Moonlight is not all that difficult to create, but can vary in intensity as the month progresses. The weather can also effect it’s intensity on an hourly basis, so if you want the full effect, you may have to take in these considerations. We’ll concentrate, for the best part, on a full moon on a slightly cloudy night. These can create interesting effects in the clouds as the moon shines through which are nice to recreate in 3D.

On a full moon, yet ever so slightly overcast, you will notice that the sky is lit up and that the illuminated subjects on the ground are lit using a diffusion method from the ambient light emitted from the refracted light from the clouds. These refractions can also create a unique “Halo” effect that almost looks like a lensflare ring in the clouds themselves.

Observe the real thing, if possible and start by breaking the scene down into it’s individual layers. Firstly we have the starfield background; this can be generated either by using a procedural or bitmap background. For this example, we will use the latter due to the inclusion of the Milky Way as a background image, which would be slightly difficult to reproduce as a procedural!

Next comes the Moon itself; this can either be integrated either as a decal onto the starfield map or as a standalone object. Again, we will use the latter for this example should we wish to easily perform any additional glows or other post effects on the Moon. Instead of using a wrap-around cylindrical map for this object, as we are only viewing the moon from the front and not the “dark” side, then we shall use a single planar mapped image of a photograph of the moon itself as this is what you would see if you looked up into the night sky.

Finally, we come to the cloud layer. This normally consists of a cylindrical map wrapped around a hemisphere as a skydome. Actually creating the night sky cloud layer can be slightly taxing as it is difficult to photograph clouds to create this texture at night. Therefore a daytime panorama is taken and the blue removed and replaced with black to generate transparency in the skydome so we can see the moon and stars in the background. As the moon is positioned behind the cloud layer, some backlighting of clouds will be present which causes the clouds to glow the “closer” to the moon they are. This effect is generated using a Gradient Ramp map in the self-illumination slot of the Cloud’s material, assigned to an additional map id on the skydome, with the UVW map’s gizmo positioned in front of the moon relative to the active camera.

To create the diffused lighting effect, position several lights around the moon so that the intensity of the specific light fades the further it is positioned away from the moon; more intense around the moon and gradually fading off into background light. A relatively small array of lights should be created to simulate this effect ranging from intense with harder shadows to background light with soft diffused shadows. Creating this array will also generate an Area light effect with the shadow more intense at the base of the illuminated subject which then fades off and disperses.

You will notice that in any moonlit situation that the rear of illuminated subject is not entirely black; some light is reflected back of additional surfaces and even rear clouds that are lit by the moon, so you will have to place lights accordingly. These lights should be more “cool”; colder colours such as a slight tint of blue or purple to bring out the contrast. Slight uplighting should also be used, especially if working with reflective surfaces.

Enlarge Screenshot Initially, create a Skydome hemisphere to completely encompass your scene and scale it vertically as necessary. This should be a simple Geosphere primitive set to hemisphere. Add a Normal modifier to it’s stack and check on Flip Normals. Add a UVW map to the skydome’s stack and set it to cylindrical mapping. You may wish to delete the base faces of the skydome or position them slightly below your ground as they may intersect with the rest of your scene. Create another UVW map and set it’s ID to 2. Position it as illustrated.
Enlarge Screenshot Create another Geosphere primitive so it is several times larger than the skydome as illustrated in the screenshot. Add a Normal modifier to it’s stack and check on Flip Normals. Add a UVW map to the Galaxy Geosphere’s stack and set it to spherical mapping.
Enlarge Screenshot Create another Geosphere primitive and position it against the backdrop of the Galaxy Geosphere and behind the Skydome. Reposition, Scale or resize it so it is prominent in the scene’s camera. Add a UVW map to the stack and ensure that the planar map’s Gizmo is facing the camera. Reposition the second UVW Map’s Gizmo of the skydome so the center of the gizmo is over the center of the moon as viewed from the camera.
Enlarge Screenshot Create a new material and label it Galaxy. Assign it to the Galaxy geosphere. Create a new Mask map in the diffuse slot. In the Mask map, create a new bitmap map in the Map slot and load in a starfield background image. Clone the bitmap into the Mask slot. Crank the material’s self-illumination spinner up to 100. Create a new material for the moon and load the “moon.jpg” bitmap into the Diffuse slot. Instance copy this into the Self-Illumination slot and check on Self-Illumination.
Enlarge Screenshot Create a new material for the skydome and load in the “sky night.bmp” bitmap into the diffuse slot. Instance copy this into the Opacity and Bump Slots. Check on Self-Illumination and create a Mask map in the Self Illumination slot. In the Mask map’s Map slot, create a Gradient Ramp map, design the gradient as illustrated and ensure that the Gradient type is set to radial and the Map Channel set to 2. Copy this Gradient into the Mask slot and amend the gradient so it runs white to black.
Enlarge Screenshot Create lights as illustrated around the moon Geosphere, with varying intensities from 0.75 over the moon to a grey 0.1 intensity light overhead. Also, create fill lights around the illuminated subject(s) with diffused shadows. Create additional post effects such as blur if required to generate a little specular bloom to the image and to intensify the glow around the moon.
Enlarge Screenshot The scene before render – here we can see the layers used to complete the scene. Each layer is quite low polygon and is positioned relative, so the stars will pass behind the Moon which passes behind the clouds.
Enlarge Screenshot And the final render. Additional post effects have been used to blur the clouds and moon slightly. Note the use of self-illumination in the clouds and the introduction of the coloured ring effect caused by light refraction.
Download the max file! Zip file to accompany - On loading the max file, you may need to reload the maps included in this zip file or include the relevant folder on your local drive that contains the extracted files as a path within max. Ensure that the Moon's material points to the moon.jpg file on the cover cd and NOT the one included with max as these files are different.


The skydome’s clouds, although just a cylindrical mapped bitmap, can be easily animated (as shown in the sample max file and resulting render included on the cover cd). Use either a Volume Select modifier or Mesh Select and select the top vertex of the skydome. Check on SoftSelect and increase the amount until the base of the hemisphere is slightly affected. Add an Xform modifier and animate the Xform gizmo rotating to 60 degrees, so it twists the mesh. Looking directly forward it will appear as the clouds are moving, but do not move or pivot the camera too far else the illusion will be lost.

Add a little more intensity to the brightness of the moon and the reflections off the surface(s) by adding a Blur effect to the scene to add a little specular bloom. Don’t go overboard though as this can dramatically blur the image. Also try using material changes to the clouds (to a raytrace material) and glow effects on the moon’s material id to create this effect.

Additional elements could be included in the night sky to add extra realism and ambience. The occasional shooting star, flock of birds or aeroplane (white dot!) flying overhead hilited by the intensity of the light eminating from the moon can add emphasis on it’s brightness.

Instead of simply using a cloud bitmap on a skydome for the clouds, try using a particle system or plugin to generate these cloud effects. Volumetric cloud plugins such as Afterburn or Pyrocluster will be ideal in these circumstances and the lights positioned behind the clouds should produce a backlit effect on the volumetrics, therefore creating the glow we had to produce with the additional UVW map.

Initially published: 3D World magazine, Issue 28, August 2002.

Copyright Pete Draper, August 2002. Reproduction without permission prohibited.