My senior project team has finally finished our final project for the Interactive Multimedia and Design program at Carleton University. The senior project is designed to challenge, and ideally provide a show of the skills we have culminated during our 4-5 years studying this joint undergraduate degree between Carleton University and Algonquin College. For this project myself and 4 others (see end of the post) created an interactive experience called The Aquaroom.
The Aquaroom is a relaxing interactive experience meant to engage casual users of all ages. The basic concept being that we wanted people to experience a fishtank from two perspectives: first, from the usual perspective of a person looking into a small fishtank, whether at a pet store or their own home, and second as a fish themselves inside a large fishtank.
There are three main parts that help push this concept:
- The Controller Tank: This is a small fish tank outfitted with a monitor, microphone, and camera meant to take in video and sound input, processed to sound/look under water, and then pushed to the Aquaroom ( see below ).
- The Photobooth: A constructed photobooth outfitted with an iPhone interface(created with Abobe Flash CS5) and a Kinect camera to analyze people that enter into the room. The “character data” is then sent this data to the Aquaroom to create a fish that features similar characteristics such as skin colour, relative size, and a piece of their clothing.
- The Aquaroom: A small room that ( in sync with the monitor in the controller tank ) that displays the fish tank on a large 30ft x 10ft screen. Here users can watch the fish move, see people from outside peering onto them from the controller tank, and interact with the fish using a text-messaging system.
I will further elaborate on the details of this project that I was specifically involved with in later posts; but in the meantime will post a few details about it’s construction here.
It is almost entirely created using Cinder Frameworks ( and their implementation of OpenCV ) while also utilizing additional libraries such as Autodesk’s FBX SDK. PHP was used to interact with the text message service we rented at clubtexting.com, and Adobe’s Flash CS5 was used to create the iPhone app used within the Photobooth.
- The ability to view virtual fish within a small tank or within the large room-sized fishtank.
- The ability to have a fish created similar in likeness in the Photobooth
- The ability to interact with the fish through text-messaging commands such as “roll over”, “play dead”, or “say ‘say something here'”
- The ability for have yourself appear as a large human looking in at the people in the large tank.
- The ability to have the audio from outside sound like it is underwater inside the large tank.
- A custom OpenGL deferred-rendering engine ( had GLSL caustics, SSAO, pseudo-refraction etc. ).
- A custom-built FBX importer, and animation controller classes.
- PHP text-messaging bridge.
- Cinder OpenCV feature detection using a Microsoft Kinect camera.
- Cinder OSC communication between computers.
- A dynamic fish texture creator based on user’s characteristics.
- Flash CS5 iPhone interface for Photobooth interaction.
- Original 3D fish, and fish tank models, textures, and animation.
To see the installation being used on presentation day please skip to the 2:00 mark.
- Tetsuro Takara – FBX modeller, animator, texture artist, and designer
- Grant Lucas – text messaging developer, FBX modeller, animator, texture artist, and Cinder developer
- Allan Yong – OpenCV Photobooth developer, and Cinder developer
- Anthony Scavarelli – architect, graphics developer, and lead Cinder developer
- Tomas Breffitt – iPhone interface developer, Cinder developer, designer, and prop constructor
***Special thanks again to Cinder Frameworks’ developers for making such a wonderful framework! And to the open-source movement in general for showing us the light when it was dark.