3D Animation Workshop: Lesson 75: Introducing Shout3D | WebReference

3D Animation Workshop: Lesson 75: Introducing Shout3D


Lesson 75 - Introducing Shout3D - Part 2

Shout3D is an application of Java technology, and it's fair to assume that most of this audience—whose primary interest is 3D computer graphics—needs some quick introduction to Java. Java is a programming language developed by Sun Microsystems. Most commercial computer applications are written in "compiled" languages, generally C or C++. In a compiled language, the source code written by the programmer is compiled into a machine language specific to a given kind of processor and operating system. Everyone is familiar with the idea that certain programs run only on certain platforms, or that a given application is available in different versions for different platforms. One of the main reasons for the creating Java was to enable the development of applications that could run on many or all platforms. To achieve this, a Java program is only partially compiled. This partially-compiled program then requires an "interpreter" installed on each user's machine to take the final step of adapting the program to the specific platform. For example, Windows PC's and Macintoshes can have their own Java interpreters installed. A single Java program can then be run on either machine because the interpreter handles the platform-specific issues.

Java was created with the Internet in mind. The much-touted dream of Java was to permit Web-based applications that would run on any machine that downloaded them, so long as the machine had a Java interpreter. A Java interpreter was built into both Microsoft's and Netscape's Web browsers on the hope or assumption that Java applets (as these specialized Web-based applications were named) would become common on web pages. But the advantage of local interpretation has also been the reason for Java's rather disappointing impact on the Internet. The interpretation step takes time and processing power, and therefore most Java applets and applications run strikingly slower than the compiled programs that most computer users are familiar with. It's fair to say that Java has not yet found its expected place in the Web development world.

Yet the promise of Java is being fully realized with Shout3D. The heart of the Shout3D development package is a Java applet, called the Shout3D Applet which functions as a realtime 3D rendering engine. The applet is all that is necessary to display a 3D scene, animated or not, without interactivity. For example, the animation on the previous page required only this basic applet. The models and animation can be created in any application that can export to the VRML 2.0 format. For serious work, this will probably mean 3D Studio MAX because MAX has the best VRML export tools, by far. For those who have it, Cosmo Worlds will be a fantastic help because it's a true VRML development environment, but this wonderful product is not being offered for sale at the present time. The VRML file (.wrl) is then converted to the Shout3d format (.s3d or s3z) using a converter program with Shout3D 1.0. The .s3d or .s3z file is then plugged into the applet (the player) in the APPLET tag on the HTML page in which the applet is embedded. Look at the source code for this page to get the idea.

Interactivity, however, is the key to successful 3D on the Internet. One of the premises of VRML was that significant interactivity tools could be built directly into the VRML language. But anyone with significant VRML experience quickly discovered that any commercially viable VRML projects required Java or JavaScript programming using the VRML Script node. Shout3D takes a more direct, and much more powerful, approach. Since the Shout3D player is already a Java applet, interactivity is a matter of adding additional Java code, using Shout's amazing Java class library. More precisely, it's a matter of "extending" the basic applet to add additional functionality. For example, check out the following game.

Click and drag on the hammer to pull it back, and then release the mouse button to let it fly. This game is remarkably sophisticated for a file so small. The game applet is simply an extension of the basic player applet—like a layer placed on top. One of the most attractive features of Shout3D 1.0 is its inclusion of the Java source code for this and other extensions of the basic player applet. A serious person with even basic Java programming knowledge can start picking this code apart to learn the secrets of realtime interactivity from the masters. Take it from me. You won't find this kind of education everywhere.

To Continue to Part 3, or Return to Part 1, Use Arrow Buttons

Created: Sept. 14, 1999
Revised: Sept. 14, 1999

URL: http://webreference.com/3d/lesson75/part2.html