Editorial Policy
   Contact Information
   Advertising Info
   Publicist Info
   Privacy Statement
   Contact 3Dgate

3D DIRECT • January 17, 2001

Online & Kicking

In Heaven, the Artist Lives with the Programmer in Perfect Harmony

by Barry Fox

In my last column, I was playing match-maker between the left and right hemispheres of the brain. In this installment, I'd like to take the Cupid roll a bit further with a little aphrodisiac to kick start the romance between your creative and analytical sides by exposing Web 3D's programming underbelly. Since I know that most of you out there are 3D artists as opposed to programmers, you're likely asking the question, "Why is this freak trying to convince me to learn programming?" To clarify, it would be an exercise in absurdity to try to convert a bunch of 3D artists into programmers. But in spite of our profession's inherent technical aspects, I'm going to go out on a limb and say that the chunk of our brain that handles abstract thinking could use a break while we exercise our left brain.

There are a number of things that make it clear that a little bit of programming knowledge goes a long way. First, if you look back at the recent history of special effects innovations in film, you'll see artists with strong technical skills playing key roles in almost every milestone. In movies like Jurassic Park (1993), Toy Story (1995), The Matrix (1999), and Star Wars: Episode 1 (1999) you'll find artists proficient at writing Alias|Wavefront Maya shaders, or technical animators that use a 3D package's scripting language to rig up character controls. In the realm of video games, 3D artists must almost invariably interact with programmers. And an artist that actually has the paltry amount of programming knowledge needed to have a conversation with a programmer tends to be loved and cherished by those programmers.

Another thing that makes programming knowledge for 3D artists brain cells well spent is the vast number of places that knowledge can be put to use. Scripting languages are in every major 3D package. While Discreet Maxscript or Maya Melscript contain specific elements that are relevant only in their context, the structure of the scripting languages tends to be very similar. This means that once you have learned one, it becomes easier and easier to learn the next. These scripting languages are immediately useful for things like automating repetitive tasks or customizing your interface. Serious programmers can use the same languages to write deep and powerful plug-ins for 3D packages. And these programmers tend to form communities that post their scripts for free on the Web. This means that those artists with even a little bit of scripting skill can take these scripts and repurpose them or build upon them.

In the world of Web 3D, scripting languages are even more prevalent. With a little understanding of JavaScript (which turns out to be virtually identical in structure to Maxscript), a 3D artist will be able to provide interactivity for everything from Viewpoint's Viewpoint Experience Technology (formerly Metastream) to WildTangent to Shout3D. Pulse Networks Pulse Creator comes with a library of premade scripts that not only serve as building blocks for more complex interactivity but also as examples for learning how to create more complex scripts. Virtools Nemo has an easily learnable, yet strikingly powerful scripting language that has been allowing people to tackle problems as meaty as physics and cloth simulations.

Besides JavaScript itself, learning the scripting languages can be surprisingly easy for the 3D artist. Since most of what the scripting languages are created to control consists of elements in a 3D scene, the terms and concepts in the scripting languages are immediately familiar. Scripting languages allow control over things like cameras, materials, and object positions. Discreet 3D Studio MAX has a macro recorder, which allows the user to see the code for their commands as they execute them and then cut and paste this code into their scripts. Once the specifics of these terms are learned for a given Web 3D format or 3D package, then you simply apply standard programming logic concepts which are applicable to any of the scripting languages.

Thanks to these developments, we are starting to see more and more new ways to interact with Web pages and computers in general. Take for example Pixelblocks created using Shout3D by Tomasz Zemla. This project mixes excellent graphic design with an engaging activity. Visitors can sculpt a form by removing individual blocks from the initial large block they are presented with. They can then post their creations to an online gallery. The interaction to do this is clever in its simplicity. At its heart are a few lines of code which hide an individual pixel block when it is clicked on. This is an excellent example of what types of things can be created without writing millions of lines of code.

Another excellent new example of melding 3D artistry with programmed interaction is the MTV2 U.K. Web site designed by Digit. The site's visual assets are created with 3D Studio MAX and the vector art plug-in, Vecta3D, and interactivity is implemented in ActionScript. The site's 3D perspective literally draws you in and the simple scripting is used to great effect to make the interface lively.

And in what is certainly a significant event for Web 3D, the San Francisco Museum of Modern Art is featuring a Web 3D project in the museum's latest exhibition which addresses Internet based art. The exhibition is called 010101 (started on New Year's Day, oddly enough) and features the work of veteran Web artists, Auriea Harvey and Michael Samyn, who call themselves Entropy8Zuper. The project, called eden.garden 1.0, is done with a combination of Pulse Player and JavaScript. Visitors see a 3D representation of Adam and Eve who inhabit a 3D garden. The garden is created, at least in part, from on Web URLs supplied by visitors. Their program then deconstructs your Web page and populates the virtual garden and the surrounding Web page with random elements from the code of your page. While some 3D portions of this project may not possess all of the graphical sophistication of the latest Sony PlayStation 2 games, the artists state in the background notes that they intend to continue to learn both 3D and Web scripting to enhance future art projects.

These three examples are just the tip of a fresh iceberg floating on the Internet. And they harken to a fresh new batch of experiences headed our way. Over and over again, the truly innovative pieces of computer graphics and particularly Web 3D graphics happen at the intersection of programming and art. So artists, go find a programmer and give them a big hug. And right brains, invite your left brain over for dinner and we'll all lived happily in virtual reality for ever and ever.

Barry Fox is a founding member of infoplasm, a San Francisco-based interactive content creation company and producer of the Web 3D cartoon The Information Overload Overlords.