Cabinet of Wonder
Ideation and Initial Testings
Originally inspired by the traditional paper theater, me and Zeshu were thinking of placing a theater as a fantasy world inside a cabinet. Considering the best projection effect, we decided to use this drawer as a holder for this theater. The drawer is a very ordinary everyday object, but having this quality of the unknown inside, can trigger the audience with their natural curiosity.
To bring out this contrast between the everyday object and the fantasy project world, for the content inside the drawer, I made the first layer of theater with hand-drawn animation and Zeshu made the second layer of this theater with GANs generated theater.
Considered that the drawers have a 90 degree angled wall on four sides which can make the projection become really difficult. We decide to build an additional layer inside the drawer that softens this angle for a better projection effect. I modeled this out in rhino and laser cut out the frame.
For the projection, we are thinking of using the pico projector. I tested both the pico projector and the short throw projector, but I feel the pico projector is enough for projecting the drawer. The projector could be hang on the ceiling or put on a tripod.
Contents
The drawer we got has two levels, so each of us could design one level. The theme is theater, so I created a small animation and Zeshu use GANs to generate a series of imagery of theaters.
The model Zeshu used is pytti 5 beta, and the reason for using it is based on iterations of text to video and image to video GANs. It allows users to submit more samples than the previous two, thus generating an output that is more in line with the expectations.
Zeshu made it 60,100steps per scene and set its iterative rotation to (50+3*t)*sin(t/10*pi)**2 to give a less dizzying but deeper feel to provide it an inhaling effect. After 17 hours of computation, the GANs generated 1702 images, which Zeshu combined into 30 frames per second video.
Interaction
Since we are using a drawer, interaction will be necessary, and we are very excited about using Mad-Mapper’s new function and Arduino-linked features. So we decided to try to combine projection mapping with Arduino.
Zeshu installed four force sensors on the bottom of the drawer, two for each side, and use the reading of the sensors to change the screen inside Madmapper. Using the Firmata Arduino module to control the Madmapper projection. We also installed two tracks underneath the drawers to make sure that the drawer can be pulled out smoothly.
In mad mapper, Zeshu tried different values of pressure resistors and set them to trigger separate scenarios to pull out the drawer and close it. In Arduino we used the Standard Firmata example, and the final result was as we expected.
Process and setting up
Since we initially wanted to highlight the content, we used the InFocus IN2116 DLP Projector with very high brightness and resolution. After our initial setup, we felt that the quality of the projection was very high, but the disadvantage was also very obvious, that we sacrificed the experience and immersion of the piece for the high resolution. It’s hard for the user to feel like this is a cabinet that goes everywhere. Instead, the conspicuous projector and tripod make it more of an unfinished piece in production.
And because the cabinet and tripod cannot be fixed, the user must be very careful to open and close the cabinet; otherwise, the projection content will be very easily problematic. The result with the tripod did not really satisfy our expectations, so we decided to set up the projector somewhere else.
To start over completely, we decided to ditch the decision to have a practical tripod and instead use the MAGIC ARM to hang the projector from the ceiling. While this sacrifices brightness and resolution, we get an immersive experience for the user and can make our work more stable and less prone to errors.
As the projection area increases, we can add more projection content. For example, when the user is not interactive, there will be lights to guide the user where they can interact, and we added dust effects to make the overall sense of the atmosphere more intense.
And the mapping process: