boo_featured_image

3D sprite interaction

Featured on
PC WorldDestructoidKinectHacks.net

Objective
Use the Microsoft Kinect to create an engaging piece of interactive computational art

My contributions
Project concept
Algorithms & code for Boo positioning, object occlusion, Boo scaling, Boo rotation, and Boo floating motion

 

Mario Boo drawn in real space with Kinect, by Horstman & Kurani from John Horstman on Vimeo.

The idea behind this project was to use the Kinect to create an illusion for the viewer that items displayed on the computer screen existed in the real world. This is accomplished by drawing a virtual character on-screen in a location that the viewer can’t see in the real world – i.e., the viewer’s “blind spot.” The virtual character moves to stay in the viewer’s blind spot as the user moves around, so that the viewer can never see the real-world location of where the virtual character would be.

For the virtual character we selected the “Boo” ghost from the Super Mario Brothers video game series. In the games, the Boo sneaks up on Mario when Mario is facing away from Boo. When Mario faces Boo, Boo stops advancing on Mario and hides his face. Boo’s behavior is similar enough to our goal behavior to make him a great candidate to star in our project.

Process

All programming for this project was performed in openFrameworks. The following addons made our project possible:

  • ofxKinect – Processing Kinect input
  • ofxOpenNI – Skeleton recognition
  • ofxVectorMath – Vector calculations

We worked toward our vision in the following sequence:

Running the OpenNI skeleton recognition successfully in openFrameworks

Placing Boo in relation to the tracked skeletons

Vector calculation for Boo location

Depth calculations for Boo/object occlusions

Swapping Boo images to face the user

Scaling Boo based on distance from the Kinect camera

Gentle floating motion for Boo

Sound effects & background music

Props

We owe the success of this project to the following people:

Golan Levin
Dan Wilcox
Ben Gotow
Contributors to the ofxKinect and ofxOpenNI libraries

The presentation

Final Presentation Slides (PDF)

The source code

BOO (ZIP)

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>