Chapter 22

Ten Tips for Browsing and Building

In This Chapter

* Use the browser's headlights

* Switch .DLL files to switch plug-ins

* Clear off unnecessary browser buttons

* Don't stay online if you don't need to

* Use multiple views

* Work on only one or two axes at a time

* Select your tool before every action

* Try Pioneer Pro and trueSpace

* Keep worlds simple, small, and fast

* Build for everybody

VRML browsing and building tools are in a sort of adolescent stage: they are a lot of fun and are getting more productive every day, but still occasionally show some really annoying, immature behavior. On those occasions you are going to want to revoke their Internet dating privileges for the rest of their natural lives. Before you do, count to ten: check out the following ten tips for household harmony.

Use the Browser's Headlight

When we first loaded the plug-in version of VR Scout, we thought it was a terrible browser. All the worlds were dark, the colors were muted, and sometimes it just gave us a black screen. Then, being high-powered computer geeks, we began to wonder if maybe the Headlight button was on the toolbar for a reason. What a difference!

Live3D also has a headlight, and although it doesn't make as big a difference as VR Scout's headlight, it is worth remembering when a world seems a little gray and dingy.

When a world looks like an overexposed photograph, try turning the headlight down or off. In the helper version of VR Scout, the headlight is turned on/off by the Options-->Headlight command. Turn it brighter with Ctrl+B, and dimmer with Ctrl+D.

Setting a Plug-In Aside

Netscape only allows one plug-in for each MIME type, meaning that you can't install both VR Scout and Live3D as plug-ins. Also, if Netscape has a plug-in, it forgets about helper applications altogether. So installing a plug-in can be a big decision. On the one hand, it's awfully convenient. On the other hand, you don't want to have to uninstall it every time you wonder what a world would look like in some other VRML browser.

We ran into this problem in spades: How could we compare browsers if we couldn't quickly switch back and forth between them?

We solved it like this: Deep in the guts of the Netscape directory is a folder called PLUGINS (On our system, it's Netscape/Navigator/Program/plugins, but it might be somewhere else in the Netscape folder). Inside that folder are a bunch of files that end in .DLL @md one file for every kind of plug-in your copy of Netscape has. If Live3D is installed, you'll find a file there called NPL3D32.DLL (if you have Windows 95) or NPL3D16.DLL (otherwise). If the VR Scout plug-in is installed, you'll find NPSCOUT.DLL.

If you move this file somewhere, Netscape will forget about the corresponding plug-in. So we created a folder called TEMP inside the PLUGINS folder, and we put both NPL3D32.DLL and NPSCOUT.DLL inside. (To be more exact, we installed Live3D, moved its .DLL file to TEMP, and then installed VR Scout and moved its .DLL file to TEMP.) When we want to use one or the other, we take its .DLL file out of TEMP and put it in PLUGINS. When they're both in TEMP, Netscape thinks it has no VRML-browsing plug-ins, and looks for its helper application.

This solution may be a kluge, but it beats the heck out of uninstalling and reinstalling.

Don't Peer through That Narrow Slit

If you use a plug-in browser, you usually have all the Web-browsing toolbars at the top of the window, plus a VRML-browsing toolbar at the bottom, leaving you with the feeling that you're looking through the crack under somebody's door. Most of that stuff is unnecessary, and you can get rid of it.

In Netscape, the default setup gives you three rows of stuff at the top: toolbar, location box, and directory buttons. You can get rid of any or all of them from the Options menu. If you see a checkmark next to Options-->Show Toolbar, for example, then you're going to have to look at the Netscape toolbar. Click to make the checkmark go away, and the toolbar vanishes as well. If you get nostalgic for it, you can always click Options-->Show Toolbar again to bring it back.

The stuff you're going to want up there depends on what you're going to be doing. If you think you're going to have to browse through a bunch of HTML documents before you find the VRML world you're looking for, the toolbar and location box can be handy to have around. But while you're in the middle of Virtual San Francisco, are you really going to want to hit the "What's Cool" button? You know what's cool @md that's why you're here. Purge those directory buttons.

Internet Explorer isn't quite so bad about restricting your field of vision, but you can grab a little space by eliminating any or all of the toolbar, address bar, or status bar. (You know the Status Bar @md it's that place downtown that won't let in people who aren't … you say you haven't been there? Forget we mentioned it.) Use the View menu.

Eliminating the VRML navigation bar is only a good idea if you aren't going to want to shift back and forth between navigation modes. The only time we did was when we were trying to grab every square centimeter of screen space to shoot some of the pictures in the color section (even so, we still couldn't fit in the spire on the Keltic pyramid). Still, if you want to do it in Live3D or Internet Explorer, you can. (In VR Scout, you're stuck with the navigation bar.)

* In Live3D, right click to get the menu, and then select Options-->Navigation Bar.

* In Internet Explorer, click the menu button in the lower left corner of the window, and then click to remove the check mark next to Show Toolbar.

Don't Tie Up Your Phone Line

Don't tie it up unnecessarily, that is. (Good luck trying to call us. Our friends have given up.) But once your computer has downloaded a VRML world from the Web, you don't need to stay online to look around in it. If you're looking at a big world that you want to play with for a half hour or more, get offline. How else is Ed McMahon going to get through to tell you that you've won $10 million?

Don't get offline before all the inlined files finish downloading. And don't get offline if you plan to use any of the hotlinks.

Use Two or More Views for Building

Working in the real 3D world is easy because you have two eyes giving you two different views. In a VRML builder, you need two windows, each showing you a different view, in order to work as well. If you work in just one window, you will forever be putting objects in places that look okay at first, but turn out to be above, below, or off to one side of the location you had in mind. In Pioneer, because you build things in perspective, you can accidentally make something far too large by not realizing how distant it is from your viewpoint, or too small because you made it too close to your viewpoint. A second window will keep you out of trouble.

In Virtus Walkthrough Pro, open a Top View and at least one Side View window as you build things. This measure is particularly important in Walkthrough, because the Side View's ruler determines the vertical location and depth of the object you are building.

In Pioneer, open the second, smaller window and navigate your way to an aerial view, looking down on your work (hold the right mouse button down and push the mouse away from you, intermittently pressing the left button, too). In Pioneer Pro, you can open small orthogonal views (blueprint-like) of the top, front, back, or sides of your scene.

Don't Have Too Many Axes to Grind

Trying to work in three axes at once on a two-dimensional computer screen is usually a bit too much for any normal human being, especially when it comes to rotating objects. In Walkthrough Pro, this dilemma is rarely an issue because the program forces you to work in two-dimensional space. Only in the Tumble Editor do you ever need to select your axes.

In Pioneer, however, we find we are constantly selecting axes in order to control movement, rotation, and scaling (the controls for doing so @md the X, Y, and Z buttons @md are at the far right of the Pioneer help bar). Unfortunately, Pioneer doesn't show you which way the X, Y, and Z axes run, causing you to work by trial and error; but keep in mind that Ctrl+Z will undo nearly any action you take in error. You can use Ctrl+Z to help discover which way axes run: use the Object Move tool, enable only a single axis in World or Object coordinates, and try to move the object. For instance, with the Object coordinate system chosen, and just the X axis selected, try to move the object. Whichever way the object moves is its X axis. Press Ctrl+Z to undo the move.

In Pioneer Pro, things are a little easier because you can display an object's axes. Just select the object and click the Axes button (the button with red, blue, and green arrows). Click again to hide the axes before you take any action on the object, however. If you don't hide the axes, your actions (moving, rotating, and scaling) will affect the axes, not the object.

Choose Your Weapon before Every Action

In the real 3D world, your hands are pretty multi-purpose. When you do something in the real 3D world, you don't have to change the thing on the end of your arm for every different action. When you do something in the virtual 3D world, you do; and your brain isn't going to be happy about it. So, after you have moved an object, for instance, your brain thinks, "Okay, now I'll just scale that down," and you begin to drag with your mouse before you have changed to the Scaling tool.

In your 3D builder, you have to proceed more slowly and carefully than you would like. You can't do much but get used to this fact, and get in the habit of clicking on the tool you need before each action @md even if you are just re-selecting the same tool. Also get into the habit of checking to see which object is currently selected, and if it's not the one you want to work with, get into the habit of re-selecting. If you don't get into these habits, you'll find that you are continually undoing errors that occurred because you forgot to choose the correct tool or object.

In Pioneer, you can make object manipulation go more quickly by combining object selection and object manipulation into one fell swoop. Choose File-->Preferences and enable Dynapick in the Preferences dialog box. Now you can select an object for moving, scaling, or rotating without first selecting it with the Selection tool. Just choose Object Move, Object Rotate, or Object Scale, and then click on the object and drag to perform that action on it.

Try the trueSpace and Pioneer Pro Demos

Caligari's products @md Pioneer, Pioneer Pro, and trueSpace @md are terrific tools for the 3D developer and VRML world builder (you). Having made that assertion, we'll also admit that the early versions of Pioneer can be occasionally frustrating to use. Between Caligari's unique user interface and the bugs that come with any beta software, Pioneer can lead to a certain amount of head-banging. On the other hand, it gives you some features that you would otherwise only find in software costing thousands of dollars, or that you might not find at all.

If you like the capability of Pioneer, but are having trouble getting things to work out right, try the evaluation copies of trueSpace and Pioneer Pro on our CD. Both provide features that help you take control of your scene.

For example, one of the limitations of Pioneer is that you can't precisely control how big things are or where they are. Pioneer Pro, however, allows you to use precise numerical positions and dimensions to make your scene. For instance, you can make an object that is exactly 2.5 meters across, 0.75 meters high, rotated 30 degrees around its Z axis, and located at three meters in the X direction, one meter in Y, and one meter in Z in the world coordinate system. Just right click the Selection tool, and the Object Info panel pops up. Enter precise rotation, location, and size information in the X, Y, and Z boxes of that panel.

Other take-control features of Pioneer Pro are

* multiple orthogonal viewing windows (top, front, side)

* viewable, movable, rotatable object axes

* object saving and loading

The trueSpace 2 program is not a VRML tool, but scenes created in it can be loaded into Pioneer Pro and VRMLized there. It is quite bug-free, and provides some amazing animation, building, and realistic rendering features. It also provides a much easier way to adjust your viewpoints than walking or flying does. Caligari will be happy to talk to you about buying trueSpace 2 or any of their other tools.

Keep It Simple, Keep It Small, Make It Fast

Some enormous VRML worlds are out on the Internet, but you can bet dollars to toruses that the average shmoe with a personal computer and a 14.4 or 28.8KB modem ain't going to look at them any time soon. Nope, those worlds have been made by folks with $20,000 workstations, for folks with $20,000 workstations and with big, fat data lines into the Internet.

Unless you keep your VRML file size down to something that can be downloaded in less than a minute @md and preferably less than that @md you had better have created a very interesting world. At the current state of the Internet, we suggest you keep to a total byte budget of 150K, and aim for half of that.

To achieve this budget, don't use unnecessarily complex shapes or large bitmaps. Inline your objects and textures to make your large VRML worlds more palatable to the average Web surfer. By inlining textures, you reduce download time substantially (inlined texture files are vastly smaller than non-inlined textures). By inlining objects, you give the surfer something to look at while the browser finishes downloading.

If you can handle the Deep VRML necessary to do it, reuse objects by employing the USE node. Use Levels of Detail (LODs). LODs substitute simple shapes for more complex ones when they are distant from the observer; this substitution speeds up the rendering process and lets the Web surfer navigate more easily. Save your files without formatting. Compress your worlds.

See Chapter 17 for details on these techniques.

Build for Everybody

The whole idea of VRML is that it is a standard; because it is a standard, we can all use the software of our choice to read and write it. Nonetheless, we admit that temptations entice us to create VRML scenes that take advantage of non-standard, vendor-specific features. For example, you might use the custom animation features of Live3D or the audio features of Pioneer. And you have little reason not to use custom extensions to VRML; just make sure that the scene is still interesting and workable in other browsers.

For instance, you can create a virtual forest. In Pioneer, you could have birds chirping in the trees and water splashing in the stream. In Live3D you could have fish swimming in the stream and bears circling in the underbrush. In other browsers, it would still be an interesting scene with stationary fish and bears and a silent environment. If, however, the scene relied on a message communicated by a wise old talking tree, using Pioneer's sound extensions, it would be a real bust for everyone but Pioneer users.

Sometimes, however, custom features will either ruin the overall effect or cause other browsers to choke. They shouldn't, if every software vendor follows the VRML rules for customization, but not everyone does. Therefore you should test your scenes in several browsers. Live3D's animated texture maps are one example of a non-VRML custom feature. Although these maps are cool in Live3D, in any normal VRML browser, those texture maps will look like a strip of squashed images. Live3D can also display image maps with transparency, a capability useful for doing trees and shrubs, and for sprites. In other browsers, however, the transparent color will probably be visible, so the trees and shrubs will look like irregular lumps with green speckles, and the sprites will look like painted rectangles.

Save and test often. Don't try to build an entire megalopolis before you save your work and test it in a couple of VRML browsers. You may discover that some basic technique you are relying on just doesn't translate well into VRML. Also, a finite chance exists @md especially with Beta software @md that something you do will crash the builder. Save your work often, both in VRML and in the native format of your builder, if you can. Test it in as many browsers as you can stand.

Use the Browser's Headlight 1Setting a Plug-In Aside 2Don't Peer through That Narrow Slit 2Don't Tie Up Your Phone Line 3Use Two or More Views for Building 3Don't Have Too Many Axes to Grind 4Choose Your Weapon before Every Action 4Try the trueSpace and Pioneer Pro Demos 5Keep It Simple, Keep It Small, Make It Fast 6Build for Everybody 6