PlugPak tutorials

Behind the scenes: Overcaster and spinning lights


Overcaster scripts, which are a part of Eki's PlugPak, rely on three lighting tricks that are rather well known by experienced LightWave users.

First and most important is the spinning light trick. The others are the use of morph mixer and channel follower for controlling light properties with sliders and the use of duplicated lights with different properties for semi-transparent shadows. Each scene that's created with Overcaster or any other Eki's PlugPak script could have been just as well made manually by the user. The scripts only automate the setup.

LightWave calculates motion blur by rendering a different time step at each anti-aliasing pass, and combining these to a single image. If the anti-aliasing setting is low and there's fast motion in the frame, a series of ghost images can be seen. The spinning light trick uses this phenomena to multiply the apparent number of lights in the scene. When high enough anti-aliasing setting is used, the shadows from the lights are blended together giving the appearance of a single soft shadow.

Chastity on spot
Chastity model lit with Overcaster spot. Medium anti-aliasing with dithered motion blur.


motionblur With a basic spinning light setup, the goal is to make the light rotate a full revolution, 360 degrees, during the anti-aliasing passes. LightWave's default motion blur length is 50%, so to get 360 degrees of rotation the light has to turn 720 degrees each frame. When the user runs an Overcaster script, the script first reads some parameters from the scene. The most important is the motion blur length of the current camera. If the user has set the motion blur to for example. 5%, the amount of spinning must be increased to 7200 degrees to get a full revolution during the anti-aliasing passes as the desired 360 degrees is 5% of 7200.

With high anti-aliasing and normal motion blur, a single spinning light will shine from 17 different positions. There's no difference in render time compared to a regular light.

Overcaster automatically creates the spinners according to the current frames per second rate and motion blur amount. If the user changes these after applying Overcaster, nasty flickering errors may occur. To enable field rendering, Overcaster actually creates the spinning keyframes at frame 0.5, which causes both fields to get an equal amount of motion. However, with field rendering enabled, the Overcaster lights will by default rotate only half a circle. This phenomena can be fixed by halving the motion blur length temporarily before applying the Overcaster lights when field rendering is used.

Most Overcaster setups come in multiple resolutions. The Overcaster EZ rigs are the most basic form of spinning lights. The script adds the necessary spinner nulls with correct settings to a single light, and all the light's properties are set up as if the light was a regular, non spinning light. There's usually only one slider control, for the softness of the light. The normal resolution Overcaster setups are exactly the same as the EZ versions as far as the spinning light trick is concerned, but they incorporate the other Overcaster niceties, such as semi transparent, colored shadows. The dual and quad rigs multiply the number of lights, giving better results especially at lower anti-aliasing settings. The drawback is a hit in the render times.

Spot IF
Overcaster spot interface. The user can select various options for the spinning light setup.

In these rigs, each light is broken to it's base components. There are separate lights for at least diffuse and specular shading, as well as lights that only affect the shadows. The principle of the shadow trick is simple. If we have two lights that are identical except that one has it's intensity set to 100% and the other to -100%, they cancel each other out, having no effect on the scene whatsoever. If we turn shadows on for the positive light, the lights cancel each other out everywhere else except in the shadow area, which gets darkened by the negative light. These two lights would now cast only shadows, and have no effect on diffuse or specular shading. If we set the light intensities to 50% and -50%, the shadow will become half transparent.

Sliders All these separate lights are controlled with sliders. Each setup has a control object which has multiple built in endomorph targets. These morph targets do not actually deform anything, but they give access to designated morph mixer channels. These can be controlled with LightWave's slider banks, or by adjusting them directly in the endomorph mixer.

The properties of the spinning light rig can be adjusted with sliders. A rough estimate of the result is seen in the OpenGL preview.

When the user adjusts a slider for specular shading, a channel follower applied to the specular light's intensity channel will modify the specular light's intensity envelope. In practice, the user will see the specular shading change it's intensity.

Depending on the type of light that's emulated with Overcaster, various things may happen when the user modifies the shadow softness slider. With Overcaster sun, the slider actually modifies the pitch of all the lights in the rig. The lights are parented to a spinning null object. The more the lights are rotated realtive to the spinner null, the softer the lighting and shadows will appear. As all the lights in the setup are distant lights, their position does not matter, only rotation.

With Overcaster spot, the slider controls the light's distances from the spinning null. The lights are targetted to another null, and will form a torus like light source, pointing towards the target null,  when motion blur is applied.

Many variants of the spinning light trick do not actually use spinning motion. Overcaster tube, which attempts to emulate a fluorescent tube similar to LightWave's linear lights, moves the lights on a linear path during the anti-aliasing passes. Overcaster ambimage has up to 24 lights that rotate, but only a few degrees each.