First Review for Built on Bones!

So, I spent this week doing a lot of things. One of my favorites was freaking about my photoshopped proximity to lifetime hero author Neil ...

Wednesday, 10 October 2012

...and the techie side of the fossil skull augmented reality app., with ARToolkit

I've finally branched out and tried a bit more sophisticated augmented reality tools. Yes, you, ARToolkit.

This particular project was in honour of Science Uncoverd, our mahoooosive annual public outreach event. At the end of the day, the rather painstaking efforts to tweak little bits of script hither and thither were a bit more intense than I had anticipated; if I hadn't wanted to do a multiple object app I would have probably just retreated back to my standard free-and-easy pipeline using ARMedia plugin for Google SketchUp (see my earlier post for the how-to). But it came off all right in the end, and I have a sneaking suspicion that most of my issues were down to the sharp learning curve in using Xcode, which I was new to.

However, I did manage to get the whole shebang off the ground eventually, and that's probably primarily due to these lovely instructional videos made by Gimpneek on how to install the OpenVRML libraries you'll need and then a quick walk through of making an animated character to model in Blender. And yes, Blender is free and awfully neat.

So, short pipeline instructions for making your own! This works for Mac OS (i'm actually running Snow Leopard  so I had to sort of dance around a few versions, but as far as I can tell this should all work just fine with the most recent releases of all the programmes mentioned...)

Download all the kit you need from ARToolkit's homepage. There are quite reasonable instructions for the basic set up on the page, but it does assume you have a vague knowledge of things program-y. You also need Xcode or similar to actually build the executables.

You'll also want the OpenVRML libraries available in the same bundle, which btw are annoying to build; but see this video for step by step.

Once you have the toolkit built, there are a bunch of executable options:


You can go into each of these packages and re-set the parameters, changing either the default marker associated with a shape or the 3d model that is called up when the marker is 'seen' in a video feed. The tail end of this video gives an example of how to set up the simpleVRML package with your own object.

For this project, I modified the simpleVRML executable to find three new pattern files that I made by putting a letter in a black box template in Illustrator and then waving around in front of the incredibly useful ARToolkit Marker Generator.

I then took 3 lovely, very high-detail .stl mesh files from CT scans of fossil Homo skulls that were generously (and very temporarily) donated by a colleague... and i destroyed them by simplifying them considerably. Only so much room at the inn! In seriousness, I had to reduce the number of faces in each .stl considerably. I don't have a terribly flash machine (4 GB of RAM if i'm lucky) so I'm actually kinda impressed it ran at all...

Anyhoo, I resized, rotated, and generally fiddled with the meshes in Meshlab, then exported the results as VRML (.wrl) files. These get associated with their respective markers in a little editable text file within the executable package, then next thing you know, you have a crowd full of people standing around your table trying to balance a Neanderthal skull on their friends' and loved ones' shoulders.

Good fun? Yes. Engaging of public? Definitely. Quitting my day job? Noooooooooo...

However, if anyone has any good ideas for similar AR stuff, let me know, I'd be interested to hear what other folks make of the utility of this kind of thing.

And, of course, obligatory showreel...

su2012 ar 1 from Brenna Hassett on Vimeo.

No comments:

Post a Comment

Trivia (personal)

archaeologist. dental anthropologist. yes, that's a real thing. Author of Built on Bones, available in February 2017 (UK), May 2017 (USA) from Bloomsbury.

Contact

Name

Email *

Message *