Lighting
After you've named the models, you are ready to add lighting. Lighting is used to add realism, emotion, color, and depth. Unfortunately, Shockwave 3D doesn't currently support shadows from lights, which is a huge part of portraying a realistic model. Regardless, you still have color and position to work with, which can both be utilized to create a more realistic effect [3.16].
Figure 3.16. Internal and external lights are used to make this scene more realistic.
Lights can be set up in either 3ds max or in Shockwave via the Property Inspector window. 3ds max is easier to use in terms of placement and the control of your lights. You can see exactly where lights are being positioned and what they are pointing at in 3ds max. Thus, it is the recommended method.
Lights are placed inside and outside the house. The outside lights are placed at a considerable distance from the house to simulate the effects of the sun. A secondary fill-light is placed to fill in the dark shadow areas, but the secondary light is only about half as bright. One of the lights (whichever you choose) is the sun and is tinted slightly yellow in color, and the fill light is tinted slightly blue.
Inside the house, the track lighting is covered with omni lights that have specific attenuation parameters. Currently, Shockwave 3D doesn't support the attenuation of lights. I've added them, hoping that someday Macromedia will add this feature. Notice the huge difference between the attenuated lights in 3ds max [3.18] versus the lights in Shockwave 3D [3.19]. My 3D scenes are set up to take advantage of the attenuation feature in 3ds max.
Figure 3.17. The completed lighting of the house from 3ds max.
Figure 3.18. Attenuation, glows, and rays are active in this example from 3ds max.
Figure 3.19. Shockwave 3D currently doesn't support shadows, attenuation from 3ds max, and effects such as glows, rays, or lens flares.
Attenuation
Shockwave doesn't support the attenuation setting that is exported from 3ds max, but it does have its own internal Lingo attenuation that can be used. The attenuation Lingo function is a property that indicates the constant, linear, and quadratic attenuation setting that either spotlights or omni lights can have. You need to have skills in Lingo in order to use this example.
This statement sets the attenuation property of the light named HouseLight to the vector (.5, 0, 0), darkening it slightly.
member("HouseWorld").light("KitchenLight").attenuation = _vector(.5, 0, 0)
This setting will darken the attenuation of the light named KitchenLight inside the Shockwave 3D member named HouseWorld.
Remember that lights are CPU-intensive, and Shockwave 3D only supports eight of them at a time. The more you add, the slower the navigation around your scene becomes. Use lights sparingly.