Netscape's Live 3D has become the VRML 1.0 browser of choice... and who could blame us? Live3D (formerly WebFX) was one of the first VRML browsers to plug directly into the Navigator browser, and gave VRML artists the opportunity to enhance our worlds with extensions such as Spin, Background Color and Image, and animated textures. The future promises much more, such as the ability to allow interaction with Java, JavaScript and other LiveMedia through Netscape's LiveConnect feature.
But, as many of us have discovered, Live3D has its weaknesses as well. Because of its reliance on Renderware, it doesn't always render color and light as well as expected. I use a variety of tools to create my worlds: IDS V-Realm Builder, Caligari Pioneer Pro and, of course, my trusty Notepad! Nevertheless, I always find myself tweaking my worlds to make them look better for my audience of choice, Live3D users. Plus, I'm a control freak, so I like to take advantage of every tool and technique available to make certain that my visitors see my worlds as I intended. In this article, I'll share a couple of tips and tricks that you can implement to make your worlds a better place to visit.
One of the trickiest things to master in Live3D (L3D) is the lighting issue. L3D occasionally renders coloring and lighting poorly, probably due to one of the following three factors:
Fortunately, there are solutions to all three, and all it takes is a little bit of knowledge about how L3D works.
The headlight is a good tool for many worlds, especially early VRML 1.0 worlds that didn't use lighting extensively. But as VRML authors become more sophisticated in their lighting, the headlight can be a nuisance. Sure, you can turn the headlight off, but how will you be sure that your visitor will? No problem -- you can do it for them with a couple lines of code. Once you've finished your world, and you're happy with the layout and lighting you've already built, add this node to your file:
BrowserHints {
fields [SFBool headlight]
headlight FALSE }
Usually, the best place to put this is in the beginning of your file. If you (or your software) groups your entire file in a Separator Node (like Caligari Pioneer does), put it on the line right after the first Separator { line. Take note though: this is not an official VRML 1.0 Node, and if you re-open the file in your software or another browser, it probably won't supported and will be lost.
Another problem with Live3D is its limited support of lights. Even though the VRML 1.0 spec makes provisions for three kinds of light -- PointLight, DirectionalLight, and SpotLight -- L3D only supports DirectionalLight at this time. So, even though you might drop a nice PointLight to illuminate a corner in a room, you won't see its effects in L3D. If you expect to have a big audience of L3D users, try to limit your use of lights to DirectionalLight until L3D's capabilities expand.
Finally, one of the biggest problems I find in Live3D is the "universal" way it shades objects. When you first install L3D, it defaults to Smooth shading (the other choice is Flat). The problem with this is that it ignores the shading you specified in your file, meaning that everything is smoothed over and colors are often bleached out as a result (anyone who has worked in both Caligari Pioneer and L3D will know exactly what I mean). Now, I can't give you a tip that will allow the simultaneous display of both Smooth and Flat shaded objects in a scene, but I can give you a code that will allow you to enforce your choice between the two. I'm usually pleased with Smooth shading to make my objects look nice, but sometimes vivid color in the scene is more important to me. If you want to make sure that your visitor sees your world with Flat Shading regardless of what they have L3D set to, use this code that I made up and that L3D seems to respond to:
BrowserHints {
fields [SFString shading]
shading "flat"
}
Of course, the opposite is true as well; if you want to enforce Smooth shading, simply substitute the word "smooth" with "flat". Again, use this code near the beginning of your file.
Here is example of the same file with these two tips implemented. The headlight is forced off and only two directional lights are used. The one on the left is shaded "flat", and the one on the right is shaded "smooth", regardless of your L3D settings.
| Flat-shading | Smooth-shading |
As a self-admitted control freak, I also like to take a little bit of control over what my visitors see, and how they see it. The best way to do this is to use Camera viewpoints effectively and L3D's "Animate to Viewpoints" feature. By setting up a series of ordered viewpoints, you can act as the tour guide for your world, allowing your visitor to see those things which you want to emphasize.
For instance, imagine a room that represents a small art gallery containing 10 pictures and sculptures. By placing cameras around the room in front of each of the pieces, you can walk your visitor around to each piece by encouraging them to use the View control in the navigation bar (or, alternately, by using the CTRL+RightArrow keyboard combination).
Taken to an extreme, you can even create a small movie of sorts for your visitor to experience. In the example below, I've created a world that is a small outpost on the planet Mars for you to visit. But rather than make you walk to the base on foot, I'm going to fly you in by shuttle. To see what I mean, click into the world and use the CTRL+RightArrow keyboard combination I mentioned above. Do the combo 5 times, with about a second between each keystroke (in your options box, make sure the default "Animate to Viewpoints" is checked off under the Navigation menu):
Now that you've made a masterful landing on the pad, feel free to get out and walk around!
I created this tour by setting up six camera viewpoints for you to navigate through. Ultimately, I'll implement LiveConnect and JavaScript to do the same thing with the click of a single button when either the Netscape Live3D API is finished or Live3D moves to VRML 2.0... whichever comes first! We'll cover this in a future article.
So, as you can see, a little knowledge and creativity can be a powerful thing with Live3D. Even if you generally use an application like Pioneer or ParaGraph's Virtual Home Space Builder (TM) or Virtus' 3-D Website Builder, don't be afraid to open up your file in Notepad and try some of these techniques out. For a listing of other Live3D extensions, be sure to check out the Live 3D Extensions page.
Until later, happy building!
Robert Saint John is a 2D and 3D graphics artist and animator, web consultant, and VRML enthusiast. He recently taught the ZDNet University course on the VRML world builder, Caligari Pioneer and is writing a book on VRML 2.0 for Prentice-Hall. His company WebWorlds specializes in VRML and advanced website design.
#VRML V2.0 utf8 | WorldInfo | ViewPoint | Shape
© 1996 Aereal, Inc.