On September 3, 2016, The Scientific & Educational Centre «Primorsky Aquarium» was opened in Vladivostok on Russky Island. An interactive floor «Shallow Water Fish» was developed exclusively for the aquarium and became part of the educational complex. As part of the work on the project, another interactive floor, named «Dolphins», was developed for the aquarium. This project was proposed to the customer for consideration as an alternative to «Shallow Water Fish». The functionality is completely identical, only the content differs: instead of shallow water fish, the user interacts with dolphins against the backdrop of a sunken ship. This project is a prime example of how flexible the core of an interactive floor system is. Without much difficulty in terms of programming, you can replace the graphics and get a completely new interactive installation.
User interaction is based on the work of 3d cameras. A separate C++ module was written to track moving objects in the scene. It uses infrared images from cameras, several clever algorithms for tracking moving objects and a special marking algorithm (Hungarian algorithm). To synchronize several cameras with each other and calculate the position of the cameras relative to the displayed surface, a special calibration module was written. It uses well-known checkerboard pattern recognition techniques.
As for graphics, the Unity engine was chosen as a very flexible and convenient editor. User interaction is as follows. As soon as the camera system sees a person, dolphins swim up to him and begin to circle around, following him wherever he goes.
The tracking and calibration module has been integrated into Unity as a plugin by marshalling unmanaged C++ code to managed C# (.Net marshalling). This module represents the core of the interactive floor system, which is also used in other similar systems («Shallow water fish» and «Dragonfly» interactive floor).