Blobbers
Blobbers is the first game I developed for the interactive floor platform. The game is rather straightforward; While playing shape outlines will spawn on the floor, players must fill these by standing inside the outlines with their bodies.
Unlike the other games this game isn’t using anything with colliders or blob detection. What I’m using here is the full frame data from the depth sensor in the RealSense. This depth texture is given as a black & white texture. White pixels are detected areas, black is background. I then compare this depth texture to a white mask texture of each shape to check where the two textures overlap. When a certain threshold of overlap is reached the shape will be set to filled and an animation will play.
As seen in the image there are two types of textures.
- The mask: every shape on the field has its own mask converted to a RenderTexture by a camera.
- The depth frame: Coming from the Intel RealSense in our system I get a realtime texture of the detection.
Both these textures are the exact same resolution and using the system’s calibration are aligned. This way I can use the index of the white pixels on both textures to check for overlap.
There are two places where I use both these textures. I use them to check for overlap to run the gameplay loop and they are used in a shader I made in Unity’s ShaderGraph to display live feedback where there is overlap. The shader uses a darken blend mode on the two textures and the result is applied to the Alpha channel. The result is that only the overlapping areas are visible on the output of the shader.
Below is the code I’ve written to check overlap between the two textures and also the shader graph with the shader in action below it.
The shader can also be seen in action, colour purple, in the video at the top!