You’ve seen the demos. You like the idea of tracking tags in the real world to create visuals. And now you want to try augmented reality for yourself - and, incidentally, you’re a Flash developer.
Reader Eric Socolofsky writes to share a framework he’s created that makes it much easier to work with the Flash-based, open source FLARToolkit, called FLARManager. Version 0.4 is just released:
FLARManager has a number of features that improve upon the existing work done by FLARToolkit:
Building the apps themselves is easier. Fire up the framework with Flex Builder (or Flash, or Eclipse, or FlashDevelop), and you have access to all the libraries you need, so you can start playing more or less out of the box. Hello, world, indeed.
You don’t have to rely on Papervision if you don’t want to. Papervision, the faux-3D library for Flash, is included with the distribution. But marker tracking is decoupled from Papervision, so you don’t have to use it if you don’t need it.
Better event management. Marker adding, updating, and removal, multiple pattern detection and management, and the like are all extended in FLARManager.
Great documentation. Eric has taken the time to read some fantastic getting started tutorials, all accessible from the site above so you can go play.
Now, you wouldn’t pick Flash for speed - that’s not the idea.
Yes, you read that right: realtime stop motion. While stop motion is, by definition, associated with a painstaking process of creating animation frame by frame, a free and open source tool takes a different approach. ToonLoop provides the usual stop motion tools for creating loops, but takes a live performance approach to the recording and playback process, so you can turn your stop motion into a performance. The creator brought up the tool Saturday at the Open Video Conference in New York and got just the reaction you’d expect - a few confused (if delighted) chuckles, and someone asking, “That must be … slow.”
Now, if the framerate is low, you have no one to blame but yourself.
For fans of animation and live visualism, though, this is a dream. The first build was in Processing for Mac and Windows, but a new version for Linux (which should also work on Mac) is built on Python (with PyOpenGL, PyGame, Video4Linux and — oddly — Pure Data for MIDI).
In fact, I’m not sure whether I should tell you to download the thing or just run with the idea itself. (There’s no reason Java/Processing shouldn’t still work, by the way, if you use the excellent GSVideo library - and OpenFrameworks and others could be likely candidates, too.)
The idea is brilliant - and yet more evidence that being a visualist can be a much broader category than simply being a “VJ,” with the two-channel mix paradigm the more conventional term suggests.
And performances evidently look like what you might expect. Below, Joy Penroz uses Toonloop in Mérida, Yucatán, México, via the ToonLoop site.
Bonus video: as I was looking for more work done with ToonLoop (there’s not much out there just yet), I came across another creation by Joy Penroz. It’s not a stop motion performance, but it runs with parallel ideas, looping to manipulate time in a modern pop take on the work of Dutch master painter Jan Vermeer. The contemporary “Milkmaid”:
Via Aaron Meyers, who’s getting ready for some fun projects at Eyebeam here in New York this week, anyone using a camera for capture, live video, or tracking needs to check out this copious thread on the OpenFrameworks forum:
We already knew Sony’s US$40 PS3 Eye camera was a wonder; that’s why we strongly recommended its use in the tangible interface hackday hosted earlier this month. But while we’ve heard some good luck squeezing performance out of the thing on Windows and Linux, the Mac - while reliable - could use more options and performance. Theo Watson, one of the OpenFrameworks team, comes to the rescue with a patched version of the macam open source video driver - halfway down the page. (I hope his changes get rolled into macam?)
You’ll find lots of other tips, not only for the Mac but other stuff, as well.
We’ll keep collecting tips on this camera. Macam experiences, anyone? I’m still trying to successfully build the Linux driver; once I sort that out, I’ll share.
Version 2.5 is coming of the open source 3D suite that’s also a nodal compositing engine and a video editor and a real-time game engine — basically, a visual operating system in which you can make just about anything. 3D software in general hasn’t been gifted with especially slick interfaces. But 2.5 changes that: check out the elegant pop-up menus and Spotlight-style menu searching. Every little detail can be Python scripted, which sounds geeky but could be an easy way to just tell the software what it is you want to do - and Python is a lovely language to dip your toes into as a beginning coder, too.
All that’s well and good. But the real highlight of the video above is the fact that working in Blender now happens much more in real-time. For those of us used to working with visuals in performance, this means our “studio” workflow can be dynamic and live, too. Whether you render and remix video later, export 3D objects, or move to the Blender Game Engine to take your Blender work onstage, that is likely to appeal to visualists.
At the moment (<2.5), Blender follows the “do everything in one window” paradigm.
As jeff clermont stated above: Blender 2.5 will be the first blender release which will allow multiple windows. Hopefully, one can show the output of the game engine on one monitor in full screen while manipulating it on the other screen. The new event system in 2.5 might allow some nice possibilities for visualists. Pablo Vazquez has done a nice of manipulating a running animation (in the 3d view), which isn’t possible in Blender <2.5.
Stay tuned. We’ll see if multi-screen output becomes practical.
Blender, the free and open source 3D modeling tool that’s also a real-time game engine, promises real-time visual performance possibilities, and is even a video editing tool, continues its march toward the long-promised, insanely powerful 2.5 milestone. (”Point five” doesn’t really begin to cover it.)
2.49 is now stable. And boy does it have a heck of a lot going on. There’s nodal texture editing, multiple streams of video playback in the Game Engine (making this especially appealing to visualists), 3D painting, real-time dome rendering in case you’ve got a planetarium gig, faster Game Engine performance, Bullet physics improvements for lots of physics-y goodness, real-time shape modification, and better game logic and Python control and included Python script extensions. And that’s just the start.
Basically, Blender has become a full-blown, real-time OpenGL video and graphics powerhouse inside an existing modeling tool. I’m still intrigued by dedicated game engines, but this means your modeling workflow and real-time workflow are one and the same.
And it’s capable, as a result, of some stunning visuals. The video above is from Martin Supitis, who describes it thusly on YouTube:
Few weeks of exploring the magic world of GLSL coding and few days of getting it all in this demo. Here is the result.
The thread in BlenderArtists forums that also contains download links and updates - here: blenderartists.org/forum/showthread.php? t=152343
Made for company Twilight 22 where i take part of creating adventure action game Fire Wire District 22 as concept artist, modeler, now also learning graphic coding.
here is seen final composite of GLSL scene + SSAO, Depth of Field, Light Scattering and Chromatic Aberration filters, captured 30fps in 1680X1050 resolution; 8xAnisotropic filtering and 16xQ Antialiasing.
For live visuals, of course, modeling tools do way more than we might actually want or need. But if you can dive into Blender and find a way to simplify the work to the point you might like for a visual performance, I think it could be an immensely powerful tool.
And then there’s hardware control. Marco Rapino aka Akta has been controlling Blender with the accelerometer in his Nokia N95 phone, as in the video seen here. (Oh yes, I do need to port this to Android, especially as I already have the sensors working.)
Of course, I’d like to see standardized OpenSoundControl for this sort of application. (Accordingly, OSC may soon lose the “Sound” officially in its title, given its more generalized purpose. Open Systems Control, perhaps? Open Stuff Control? Open Smurf Control?)
There’s been at least one paper on the topic of combining Blender with Pd for sound (”Blendnik”): http://porcaro.org/blendnik.html
I’m not sure of the preferred way to implement OSC inside Python inside Blender, but I’ll have to give this a try myself.
A huge thanks to Giorgio Martini aka Tweaking Knobs for these links. Giorgio is working on his own live project. Here’s a glimpse of what that looks like, in progress: