Augmented Reality (the practice of superimposing rendered 3d on top of realtime tracked camera footage) has become an interesting presence on the web recently, with the good people at Saqoosha providing the conversion magic necessary for monochrome marker tracking in Flash. The FLARToolkit is derived from the Java based NyARToolkit, which in turn is a conversion of it’s C stablemate ARToolkit, an open source framework coming out of the University of Washington that resolves the output from a webcam into a series of tracked marker coordinates in 3d, based on shape recognition algorithms.
The above demo is an example of the FLARToolkit running with Away3d as it’s renderer. The actual process for integrating the two frameworks is very simple – centering around two classes FLARBaseNode and FLARCamera3D located in the away3d package of the FLARToolkit library. There have been some modifications made here that allow the latest 2.3 Away3d release to function with the FLARToolkit – please use the modded library supplied with the source to successfully compile the demo code, until the official FLARToolkit svn has been updated.
Currently the FLARToolkit can track multiple marker shapes in a single camera output, but in this case it is somewhat limited by the speed at which tracking calculations are made. However, you can still have a lot of fun with it! To use in a non-open source commercial project, special licenses are available to purchase from ARToolworks that grant you permission to use the library free of the more restricting GPL license.
To use the above demo you will need to download and print out the tracking marker. With the ARToolkit it is possible to train an AR app to track any monochromatic shape.
The original ARToolkit has gone through a few new incarnations including the ARToolkitPlus and more recently, Studierstube. The latter allows for many more tracking options (including full color markers), and boasts a vastly improved tracking algorithm that with any luck will find it’s way back to Flash in future AR conversions.