Contributors

VRML Camera Tips

by John Simmons

<aihf@dgsys.com>

I have found that if you have various camera views they can't be from the same camera setup (a Hollywood term meaning tripod position). In other words I can't just pan the camera from one view to another, so a workaround involves moving the tripod position just a little bit then panning to the view I want and recording the view from there for my list.

As a television producer myself I can't help but notice how little Viewpoints are implemented in people's worlds. And then those that do use a list of camera views almost always have them arranged in a haphazard manner so that going from one to the next results in a visually disorienting camera move, when in fact in Hollywood movies, camera moves serve to reinforce sense of place. For instance in the famous Italian (Siena?) space which is an otherwise stupendous space there are a few moves from one camera angle to another that make me feel I am bird careening out of control.

I strongly recommend the following:

  1. Use more camera views. They show consideration for your audience and give you a way to control the way they first visit your site.
  2. Arrange the views in a logical path with short distances between each. Even if you must move to another building, why not allow your visitors to enjoy the scenery a bit on the way over with a few stops?
  3. Going from one camera view to another cannot just be a pan. Always displace the camera at least a little.
  4. Avoid moves that involve also panning 180 degrees since this causes a feeling of disorientation.
  5. Experiment with moves that combine pans of about 90 degrees along with "dollying out" (backing up the camera), and simultaneously even "booming up" or "booming down" (raising or lowering the camera). These create beautiful Hollywood-type camera moves.
  6. Avoid placing together 2 camera views that are radically different in focal lengths, such as one being very wide angle (fisheye lens-like) and the other very telephoto. The resulting camera move shows a disconcerting jump-cut at the start of the move. (Hey, maybe that's the effect you want if you're Quentin Tarantino or Jean-Luc Godard.)
  7. Consider using a smaller window, such as an embedded window, for your space because the moves will be smoother, faster, less jumpy.
  8. Use descriptive names for your camera positions so the menu is more meaningful.
  9. Test the move from your last camera position to your first camera position. The last view should flow to the first view in order to loop the sequence.
  10. For a stunning presentation to a client, use a video projector to project the Netscape browser onto a 5 or 6-foot screen. Bring up your VRML space as an embedded window quarter-screen size but dead-centered. For more drama, make the page black and use a navigation type of NONE. Then just click on the scene in the embedded window and step through your long sequence of camera views with the PageDn key. The size of the VRML window will still be equal to a living room TV. The effect is very polished, and if you have 30 different views you can inform your client that you have programmed into the space 870 different camera moves. (That's counting all the ways you can move from each view to all the others, and that's a good time to ask for more business.)
-- John Simmons


The list above was written in the days of Live3D (and edited a little), and there are a few more hints for VRML 97:

  1. You can program not only the sequence of moves but how long each move takes. That lets you have camera moves of any speed under the control of a TimeSensor. If you're zooming in, consider decelerating as you approach the subject. Remember that every browser has its own way of moving between Viewpoints, and the only sure way to control the camera is with a TimeSensor.
  2. If you can, look at your camera moves on a slowish PC so you can see if your frame rate requires a slower camera move to avoid jumps.
  3. Remember that fieldOfView is an exposedField, so you can do one of those shots where the camera zooms in or out on the subject, but the subject stays the same relative size on the screen while the background changes.
  4. Movement in the roll axis is dramatic, but disorienting, and ought to be reserved for when you want to give the illusion of flying. If your viewpoint is bound to an object, say, an aircraft flying through your scene, set your camera above and directly behind the airplane and pointing down so you see more scene than sky. Then let your camera bank with the airplane, but let it lag by a second or so. Seeing the airplane in front of you roll a little before the scene rolls prepares the viewer for the roll movement.
  5. If you've got your presentation timed, you can have the whole works under the control of a single TimeSensor that moves through your world automatically as you speak. You might want to have a little pause control off in a corner that you can click to pause the scene in case you get a question (don't forget to reset the startTime and stopTime when you resume, or you'll jump to someplace silly and disorienting).
  6. I have yet to see a VRML world that uses the odd camera angles of the film noir school, which is surprising since it's so obvious.

Got some good camera tips? Let me know.

-- Bob Crispen
-- Sunday, June 7, 1998