Hey! You got Java in my VRML!
Moving Worlds breathes life into 3D environments on the Web

David Frerichs, COSMO Product Manager, Silicon Graphics

Wandering through Virtual SOMA there is a deafening silence. The swings lay still, the trees don't rustle, no one comes out of the coffee shop with a steaming cappuccino and the picnic benches are vacant. It is as if a neutron bomb has hit - a lot of the structure is here, but nothing is alive. Taking a walk down the street you turn the corner and hit blackness. You have reached the edge of your little universe and you're left wondering if there is anything else beyond. The limits of VRML 1.0 are staring you in the face, a small world that can look quite nice, but nothing is going on.

To breath life into VRML, Silicon Graphics, Sony, WorldMaker and the online community have come together behind Moving Worlds - the industry-wide proposal for the evolution of VRML. Take the original VRML specification, add a little Java, toss in some sensors and interpolators and top it off with 3D sound and you get the next-generation of 3D multimedia web content. Where VRML enabled a new way to look at information, Moving Worlds enables us to experience it. Information can come alive and interact with the user based on both the actions of the user as well actions of other pieces of information.

VRML is a file format that describes a virtual world for deployment over the World-Wide Web. Users experience the contents of that file by downloading it into a VRML-capable browser. There, it is rendered in real-time, allowing the user to see the virtual world from any perspective they choose. For example, a VRML file of a cafe would include a description of the building, tables, chairs, people, espresso machine and other items in terms of 3D coordinates and polygons. When that file is downloaded to your local machine, your VRML browser figures out what the cafe looks like from where you are sitting and renders that view multiple times each second (depending on how fast your machine is!). Each time you move around, the browser takes the change of view into account and renders appropriately. This is different from other formats, like QuicktimeVR, where the entire scene is pre-rendered and you just look at different sections of the file as you "move around."

As an evolution of VRML, Moving Worlds moves beyond simple geometry and adds behavior. When creating a piece of geometry, the author can use default "inputs" and "outputs" as control points or specify custom ones. These control points can then be connected to similar points on sensors, Java applets and interpolators through the use of routes. Routes define the flow of data between objects in the Moving Worlds universe and enable one object to control another, like a java applet changing the location or color of a piece of geometry. In the cafe example, the espresso machine could be linked to a Java applet and a click sensor such that when you grab the lever, the lever goes up, espresso comes out and the machine emits a loud hiss. Interpolators are useful for moving objects and changing colors without programming in Java. A chair in the cafe could have a proximity sensor and an interpolator that makes it pull out when you come near and push in when you sit down. The hands of a clock would be driven by a time sensor and an interpolator. Through both interpolators and applets, Moving Worlds allows a more life-like experience in the virtual world.

VRML has increased in popularity on the Web due to its focus on the needs of both surfers and content creators. The major limiting factor on the usefulness of any Web media format is raw file size. Since file size translates directly into download time, the more compact a file format is, the better. When comparing VRML 1.0 to QuicktimeVR, Quicktime, MPEG and even GIF, it turns out that well authored VRML is the most compact option for adding multimedia to a web site. Moving Worlds continues in that tradition. New nodes to implement behavior add only a small amount to the overall file size and the ability to instance repeated objects can actually decrease the size of files.

Moving Worlds is unique among the VRML 2.0 proposals in that it was defined by the Web community for the Web. Once the initial specification was completed by Silicon Graphics, Sony and WorldMaker, the proposal was put out on the web and a discussion group was formed. Hundreds of individuals and companies were able to give their feedback and input. Other proposals, like "ActiveVRML" from Microsoft and "Out of the World" from Apple were defined by a single company without significant input from the outside. The open forum that defined Moving Worlds ensured that it would be an optimal, cross-platform proposal with wide support throughout the industry.

When the first Moving Worlds browsers come out in the Spring, we will begin to see a whole new type of website where dynamic 3D worlds will coexist on the same page with on-the-fly HTML content and Java applets. This kind of integrated content will allow more compelling applications that provide a true alternative to the proprietary desktops that we are all trapped in today.


This article appears in the "Lexicon" section of E-COMM Magazine (March/April 1996 issue).Permission for on-line publication is granted to SGI by the publisher.For subscription information about this technical magazine for Electronic Commerce, contact: publisher@ecommmagazine.com.