Shadows 2 - Creating a rear-projected shadow in DAZ Studio

Author: Porter

Tools Needed

  • DAZ Studio

Support Files

Introduction

One of the most basic theatrical lighting tricks is to project a shadow on the rear surface of a translucent cloth panel, to be viewed from the other side ' the 'shadow on the window shade'. I was quite surprised to find that this simple effect can't be done by normal methods in a 3D Rendering application. I turned to the other users on the DAZ forums for assistance in finding a way to do this, and another user, Nocturne, developed an initial solution that is both simple and effective. This tutorial is based on the method that Nocturne developed in response to my thread "The light on the window shade... or not", and was written with Nocturne's kind permission and assistance. My thanks to Nocturne, Questor and all the others who contributed to that thread. This tutorial is dedicated to each of you.

Note: You must do the render using 3Delight. You can not see the effect in OpenGL previews or renders.

400-0080.jpg

Step 1 - The Goal

We want to simulate a rear-projected silhouette of a figure on a translucent surface, by illuminating a flat translucent object from behind with a spotlight. Here is a simple example. The figure is in front of a wall that consists of a single polygon, set to white, 50% opacity. The light is a distant light, set to cast shadows, aimed level with the ground plane and at a -15 degree angle to the wall.

400-0081.jpg

The left side of the illustration above is as viewed and rendered from the back - the side that the figure and light are on, while the right is as viewed and rendered from the front side of the wall – the intended viewpoint for the finished render. As you can see, in this case her shadow's feet should touch the ground plane. But when viewed from the front, there is no shadow. What you're seeing is the backlit figure herself, through the partially transparent wall.

Step 2 - The Problem

Unfortunately, 3D rendering applications only create a simulation of a shadow, by calculating where the shadow should be when it strikes the nearer surface of a polygon. If light can pass through the surface, it again calculates the shadows on the nearer surface of the next polygon that it strikes. Under most circumstances, this is sufficient to simulate the normal behavior of light in casting a shadow, and requires far fewer calculations than a more realistic method would require. However, it also means that there is no shadow on the far side of a polygon for us to see.

Step 3 - The Solution

As it turns out, for a translucent surface, the solution is fairly simple. Merely place a second translucent surface parallel to the main one, and on the same side as the light, and make that surface a mirror. You will want the mirror and screen surfaces to be fairly close together, to reduce distortion. You are, in effect, placing a half-silvered mirror on the far side from the viewer. Light travels through the mirror, creating a shadow on the back of the screen. The mirror then allows the viewer on the front side to see the image of the shadow that is on the 'back of the window shade', reflected in the 'mirror'.

400-0082.jpg

Step 4 - Set up your screen

For this tutorial, I have provided a 'Wall.obj' object that you may import to use as your screen. It has three separate material zones – one each for the front, back and the edges. I created this prop, and you may freely use it in your own renders, personal or commercial. Position the wall where you want your screen, size it as you wish, and set the ZScale of the wall to a very thin setting. I used the wall as it imports into the scene, and changed the ZScale to 1%. This makes a screen about 8' high, 8' wide and 1/10” thick in DAZ Studio. (Alternatively, you can use any two parallel planar surfaces for this effect.)

Use these values in the Surfaces Palette for the surfaces of the Wall object:

400-0083.jpg

Note that in DAZ Studio, you will have to double-click on the “Reflection Strength” title in your Surfaces palette to set the max limit and the value for Reflection to a value greater than 100%. You need to set the reflection value and it's max limit to 1000% in order to make up for the light loss of passing through the partially opaque surfaces.

Step 5 - Aim light(s)

Position a camera near, but not on top of, the light source(s) for your shadow, and make sure the shadow falls where you want it to on the 'back' of the screen. You can look at this with the OpenGL preview, and don't need to render it. You could also use the spotlight itself as your 'camera' to see what it is aimed at and where the light will spread. In the Parameters palette, set the brightness to 100% for the spotlight, and turn 'Cast Shadows' on.

More than one light can be casting shadows on the screen.

Step 6 - Render in 3Delight

Position your camera on the viewer's side of the screen, the side opposite to the light, and render using 3Delight. You can not see the effect in OpenGL renders or in the OpenGL-based preview. After you do your 3Delight render, it should look something like this:

400-0084.jpg

The white spot was added as post-work, and is where the spotlight is, aimed at the figure.

Step 7 - Another Example

The sample below was created by Nocturne.

400-0085.jpg

This was the first really successful render made with this technique.

Step 8 - Comments

Some comments and observations.

Because the back side of the screen is a mirror on both sides of that plane, it may also reflect light at whatever is behind the 'screen'. This won't matter much if your light source is roughly perpendicular to the screen, and may even allow you to use fewer lights to illuminate the back area. But if the light hits the screen at an angle, it may cause a bright reflected beam of light illuminating a place where you didn't intend to have a light.

You can use a color other than white for the diffusion color of the screen surface, and can even texture the screen surface with an image, to make it look like cloth or a window shade. Just remember that darker colors or surface textures will tend to make the shadow less visible.

You can not turn specularity off for the mirror layer. A value of 0% on specularity causes the mirror not to reflect.

I found that in practice, screen layer opacity values less than 90% don't work well, because the mirror layer ends up also reflecting the scene on the viewer's side of the screen. Other than that, you can experiment with other values for the opacity of both surfaces, which will affect the contrast and brightness of the shadow and the light around it.

You can also do this technique with a non-flat projection screen. For example, try projecting the shadow onto the inner face of a translucent hemisphere, by using a reflective hemisphere that is slightly smaller, with the same center point, parented inside it. I tried this, and it worked fine.

Happy rendering! We hope you found this information useful.


 
© Copyright 2009 DAZ Productions, Inc.. All rights reserved I'm new to ArtZone.com   Support   Privacy Policy   General Rules   Terms