This is CNNCTR (Connector) – interactive projection mapping for the festival One Design Week (19-28 June 2015, Plovdiv, Bulgaria). It’s considered to be the biggest interactive mapping in Bulgaria so I would like to share the details about it.
This year the topic of One Design Week was Digital and the organizer asked me to create a big projection mapping project with contemporary interactive technologies. Interactivity in public space is a challenge and there are different approaches to it. We came up with the idea to use sensors in people’s smart phones, so bigger part of the audience to be involved the project. We discussed some possible buildings for the projection mapping and we chose the facade of the former Communist Party House. It is located on the main square of the city and it’s 13 floors high so it’s visible from bigger distance. Challenge accepted!
Is this mapping possible and in which conditions?
This old office building surely needs renovation. It has a lot of dirty windows and air conditioners which I wouldn’t like to enlighten with beamers. What I liked in it was its monumental architecture and pure forms. The glass of the windows was also a technical issue for the projection. So I decided to put a semitransparent screen on the whole facade and to project onto it. I did a test and the effect which I wanted to achieve was pretty satisfied. The projection was more visible on a vinyl and architecture was still recognizable beneath it.
And that’s how the facade looked like in the day of the mapping:
What about the visual content?
The Communist Party House is a part from the historical past of my hometown Plovdiv. Actually there is a project for its complete renovation but they never started it and for now it is as it is. The architecture is very ordered – straight lines, repetitive raster, functionality. So I imagined what will be if I turn its forms backwards – to something chaotic and interactively playful in the spirit of the Postmodern age in which we’re living today.
First thing in my project was to take photo of the facade and to build a 3D model for the architectural mapping. As I looked at this cell-shaped habitat I started to think about kind of new forms can be born from it.
The grid of the building is very flat even if it is in 3D space, so I started to move its vertex in Z-coordinate in order to achieve more depth look. The ordered forms began to turn into chaos and the points became very important as keys to deform the architecture.
So what’s forward? What I was missing initially in this dark world was some light. I decided to make each moving point also a light glowing source. Now the grid started to look more like a star map or a town seen from above. And I imagined that I can create an abstract model of a civilization with its own logic rules. So the next step to build my new world was to extend the habitat grid with some polygonal objects and the glowing points started to generate those forms by themselves. I played with primitives, particles, metaballs and different phong shaders. There are some early render screenshots from TouchDesigner:
What about the interactivity?
I knew that in TouchDesigner there are some approaches to deal with web data in real time. I’ve got my mapping grid model with its point position attributes, so the first thing was to try to transform the XYZ–coordinates by using a mobile device. On this part of CNNCTR I worked with my friend and talented developer Bogdan Kovachev and he started to build a demo for a mobile application. We used Web Socket protocol to communicate with TouchDesigner but however it wasn’t plug’n’play system and we did some tests. There were some disturbing crashes of TD when WebSocket DAT was receiving zero text messages but we received great support from Derivative and the crash was fixed very fast! More or less this prototype of iOS application started to work. The user connects and take a random point from the grid which he can move by his device. Technically this was possible with a remote server which sends messages to Touch in real time with almost no delay. Then I mapped the incoming values to the points indexes and positions.
Next we made tests with a lot of bots to be sure that everything works. We saw that having too many too active users is not very safe for the network and we decided to put a limitation of 100 users who could interact with CNNCTR together simultaneously. It was processing optimization issue but also aesthetic one – the grid looked a bit too much chaotic with many points (users) moving randomly. The activities triggered a lot of CPU and GPU processes but I will talk for the network pipeline in the second part of my blog post. For now, we were excited that everything behaved well and the bots had party time with the grid of CNNCTR!