Anamnesis - Short Interactive Film An ETC project for Spring 2025 by Interactive Studio Labs

Interactive Story Labs Halves Presentation

Anamnesis trailer. Trailer made by José Mireles Macario

Project Description

Project Anamnesis is a 14-week exploration of interactive storytelling that combines live-action footage with advanced technology to create an emotionally immersive experience. Designed for the C.A.V.E.R.N. system at the Entertainment Technology Center (ETC), the project utilizes a 270-degree curved projection screen and a 20-foot-wide interactive play area, enabling dynamic local player interactions within virtual environments. The project’s goal is to showcase the system’s capabilities, focusing on player interaction design, narrative depth, high-fidelity audio, and real-time user tracking. This experience aims to evoke strong emotional connections, allowing the player to feel a sense of personal agency while deepening their involvement in the story’s world.

My Contributions

I replicated the CAVERN enviorment in Unity3D with using a scaled cylinder mesh and configured a dual Canvas image UI for correct video display.

A 3D cylinder mesh on a plane with uv coordinates.

ETC CAVERN Screen

A 3D cylinder mesh on a plane with uv coordinates.

Screenshot of the virtual CAVERN in Unity3D.

Implemented body-tracking by adding a Stickman Prefab from the Body Tracking for Orbbec Femto Bolt Plugin. The meta skeleton tracks the joints of the user by creating points from the world and translating them into the scene, which I used to identify the points that represent the left and right ears and eyes and the chin of the user.

In another script, I look for the prism once the Stickman is in scene, and create a Raycast that begins in the prism and shoots forward towards the CAVERN mesh. When the raycast collides with the mesh collider, it displays an image that is translated to the canvas object with UV coordinates. This creates a visual representation of the head tracking in the CAVERN display. Like so:

To create better stability, I implemented a queue to store the rolling average for each uv coordinate that enqueues the newest coordinate after dequeuing the bottom coordinate when the indicated maximum was reached. With different testing, I noticed that a queue with a maximum of 150 make the gaze tracker smoother. This is the current process so far.

Tools and Software

Unity3D - C# - ORBBEC Fento Bolt Sensor

Team

Visit the Project Website