Virtual-Virtual Reality Virtual Camera

This page is about building a virtual camera, check out the main project index for the rest.

There is a YouTube video about this section, or scroll down for pictures and words:

I wanted to make a ‘poor mans’ VR setup – I don’t have a VR headset or any proper equipment yet, but I’m quite interested in mixed reality as well as machines and interfaces that exist in both, or communicate between the physical and virtual wolds. I decided to make a ‘virtual camera’ that is tracked in space and allow me to look into the virtual world – most of which I will build in Unity 3D.

So I found a 7″ HDMI display and mounted it onto some 2020 extrusion to allow attaching accessories later.

I’m tracking the camera with an Arduino and a PixyCam – which will track coloured regions, giving X and Y coordinates as well as size. By mounting the camera at 60 degrees I can use trigonometry to get four pieces of data to movement: up/down, to and from the camera, and rotation.

The data is sent into Unity 3D (I’ve since fixed the comms issues mentioned in the video above), and the virtual camera view is rendered and sent to the display with a long HDMI cable. Scaling needs some work but it works pretty well so far. The next plan is to add an IMU to get some extra rotation axes, and also build a hand controller.

I’ve added an IMU to the screen and built a tracked handset controller which also has an IMU in. This gives me six bits of data for each tracked item plus the switches. I can now manipulate the objects in the virtual world – check out the second video above.