New Projects - Fresh from the Labs
This game gets a lot spicier out in the real world. Here, you can play with a real club and ball, which is projected onto the track by a video projector mounted on a six-foot-high tripod. The club is marked by an infrared LED and is detected by a Webcam next to the video projector. An image recognition algorithm in the Quantum Minigolf software computes the club position and feeds back hits into the simulation.
I usually cover things only in the 0.x development stage, and although this certainly couldn't be called a new project (it's been going since 1999), it seems to have flown under most people's radar. According to the project's Web site:
Art of Illusion is a free, open-source 3-D modeling and rendering studio. Many of its capabilities rival those found in commercial programs. Highlights include subdivision surface-based modeling tools, skeleton-based animation and a graphical language for designing procedural textures and materials.
As far as requirements go, you'll need a basic Java installation to get at least minimal functionality. AOI requires Java 1.5 or later, and it does not work correctly under GCJ, which is preinstalled in many Linux distributions. Two relatively obscure requirements are worth chasing, as they greatly extend the functionality of the program. Java Open GL (JOGL) gives you 3-D-accelerated functionality, which is invaluable in animation work, and the Java Media Framework (JMF) lets you save animations in QuickTime format rather than a series of still images. JOGL is most likely in your distro's repository, but you can grab JMF at Sun's site: java.sun.com/products/java-media/jmf/2.1.1/download.html.
The Web site provides a zip file containing a Java-based installer designed for i586 and AMD64 architectures, though other UNIX and architecture options are available if you look further down the page. Grab the latest file and extract it. Inside is an installer with the filename of aoisetup.sh; execute this, though you may want to be running as root or sudo if you want to put it somewhere all users can run it.
If this is new to you, open a terminal in the folder where AOI's setup is waiting for you, and enter:
$ su (enter password) # ./aoisetup.sh
Or if you're using a sudo-based distro like Ubuntu, try entering:
$ sudo ./aoisetup.sh (enter password)
From here, you'll be given a basic Next, Next, Next-style GUI interface, which should be familiar to most users. At the end of the installation, open a terminal where AOI was installed (the default being /usr/local/ArtOfIllusion), and enter the command:
Although I hardly can do justice to the features in AOI in this short space, I'll at least introduce some of the main elements.
Four panes take up most of the screen that contain the camera angles for the scene on which you'll be working. These are ready to be “drawn” in immediately. A simple sidebar on the left contains the most common tools, such as move, rotate, resize, create a square, create a sphere and so on. This makes jumping in and actually making something so much quicker and more intuitive than most other 3-D modeling programs I've come across.
Wisely, more-advanced functions are contained within the menus in the toolbar, but they too are easy to navigate and are well thought out. Some cool features include script and repository management, immediate rendering and animation previewing, and although I didn't get a chance to use it myself, there's something called a Procedural 3-D Texture editor that looks really powerful.
Although this program may be simplistic in its presentation, the project's goal always has been to provide features found in advanced commercial applications (and even add a few unique features along the way) while retaining a user interface that is substantially easier to come to grips with than the commercial offerings.
Some of the features that really stood out to me were scriptable objects, animate-able textures, distortion effects (like twisting and shattering), skeletal animation with weighting, constraints, and inverse kinematics, as well as rendering to HDRI images.
All of this adds up to a very powerful yet elegant program that runs cross-platform, so convincing colleagues to try it might not be such a tricky proposition. If you look around the Web site and forums, you'll see some truly stunning images that have been made with AOI—some so realistic I had to look a second time to realize they were computer-generated!
I'm by no means an expert in this area, but this project deserves a great deal more attention than it has received thus far. Although a program like Blender instantly comes to mind with 3-D modeling, I've never even heard this program mentioned before. Hopefully, that's about to change.
John Knight is the New Projects columnist for Linux Journal.
- My Childhood in a Cigar Box
- Papa's Got a Brand New NAS
- Applied Expert Systems, Inc.'s CleverView for TCP/IP on Linux
- Tech Tip: Really Simple HTTP Server with Python
- Rogue Wave Software's TotalView for HPC and CodeDynamics
- Panther MPC, Inc.'s Panther Alpha
- NethServer: Linux without All That Linux Stuff
- Simplenote, Simply Awesome!
- Debugging Democracy