A lot of time ago I described you how cool is VRIdge, the solution that makes you play SteamVR games using a cheap Cardboard or GearVR headset. I love VRidge, not only because it allows people to lower the entry point for playing VR experiences (a Cardboard is surely cheaper than a Vive), but also because it is made by very kind people (I’ve interacted with them and I can assure you that these Polish guys&girls are really fantastic).

Some times ago I wrote a tutorial on how to use VRIdge with Kinect and it got its success. Reason is that of course Cardboads can’t offer the positional tracking owned by Vive, so VRIdge users can supply it with other sensors, like Kinects for instance. Tutorial highlighted some issues in this process, since it required some dev skills (one of the required program doesn’t work on standalone, but needs to be run inside Eclipse!) and it used very rough programs. Since we at Immotionar work with Kinect and VR from almost three years, me and Gianni asked ourselves: why can’t we fix this issue? And we did it.

kinect v1 htc vive vr
Me, doing funny things with a 3-kinects setup

Now you can use VRIdge with Kinect using ImmotionRoom solution, in particular using its Iridge server. What are advantages of this solution?

  • It works out of the box;
  • It is configurable in an easier way;
  • It doesn’t require particular tech skills;
  • You can use it with Kinect v1 and v2;
  • You can use it with multiple kinects (if they’re attached to different computers);
  • From our test, it appears to be smoother than the alternative solution;
  • It runs in background, without strange windows cluttering the screen.

So, how to do it?

  1. Download ImmotionRoom from Immotionar website. If you’re in doubt what to download, pick the personal runtime. It is free, but with a time limit: after half an hour or such you have to close and restart the services (just a little nuisance, if you don’t want to pay… otherwise pay to support the project!)
  2. Read the manual provided with the software that shows you how to install the software and how to configure properly a single or multi-kinect setup. Setup is very straightforward (Next, next, next). Take care of installing the TrackingService on only one PC (rule of thumb: the one running VRidge) and a DataSource on every PC connected to a Kinect in your setup. Depending on the Kinect type (Kinect v1 vs v2), you have to install a different DataSource type (DataSource for Kinect v1 contains a KV1 flag inside its installer name). You can even mix Kinects v1 and v2 inside the same setup!
    During the installation process, the software may ask you to run services at startup… if you want to make everything easier, accept this feature. If you don’t want this, please put at least a shortcut to the services on the desktop;
  3. Install Iridge server, the one that will perform the magic between ImmotionRoom and VRidge. Put a shortcut on the Desktop or another place where you’ll easily find it. Notice that you can’t make it run at startup (it’s a design choice);
  4. Now that everything is installed, start the TrackingService and DataSources double clicking the desktop shortcuts (or restart the PC to make them run at startup);

    Kinect virtual reality VRidge cardboard
    There you are: on my Desktop, the shortcuts of all the three required services
  5. Once you’ve installed the services, run the configuration tool provided inside the installation zip (the program inside ManagementTool_Windows folder) and configure all the system. Again, there’s a manual for it inside the package, so I won’t explain much here. If you have only one kinect, this configuration is super-fast.
    What is this configuration useful for? Well it makes all services to know each other, so they can communicate properly. Furthermore it is fundamental to give the system a proper reference system that can be used in virtual reality. At a certain point, in the Calibration stage, the system will ask you to stay straight looking in a certain direction: look in the direction that for you is the “front” of your virtual reality room (rule of thumb: look at the kinect). We’ll use that later, so remember it;

    Kinect virtual reality VRidge cardboard
    Me staying like a soldier watching the reference direction while configuring ImmotionRoom. You’ll have to keep a similar position
  6. Run VRIdge, as always, on your PC and on your smartphone and pair the devices;
  7. Set VRIdge to read positional data from FreeTrack, as explained here;

    Kinect virtual reality VRidge cardboard
    Inside RiftCat settings, you find a particular setting that makes you choose to take Positional Tracking by FreeTrack and Rotational Data by headset. This is the best choice possible. (Click to enlarge)
  8. Launch Iridge server from the Desktop shortcut;
  9. Run SteamVR throught VRidge. If SteamVR keeps crashing, you can have a look at this possible solution;
  10. Configure SteamVR with Room Setup. If you’ve configured ImmotionRoom correctly, you can simply follow the same steps of always to configure your room. You have just to be careful to two things:
    1. Select Standing-only setup and not Roomscale;
    2. When Room Configuration asks you to calibrate center and put your headset looking at the default direction, put your smartphone (i.e. your Cardboard) as looking the same direction that you looked in stage 5. This is fundamental, since our ImmotionRoom (i.e. Kinect) and SteamVR must have the same reference system. If you don’t do like this way and you’ve configured your Kinect to have a reference system pointing to North and then you configure SteamVR default orientation looking at South, whenever you’ll make a step forward, it will be detected in VR as a backward step.

      Kinect virtual reality VRidge cardboard
      This awesome graphics made by me shows how you have to look straight in the direction decided during setup, usually the one facing the Kinect.
  11. Ok, now you’re done with configurations!

    Kinect virtual reality VRidge cardboard
    Iridge status window, showing that everything is going alright. In my taskbar, you can see the tray icons of all the ImmotionRoom services. If they do not show any yellow mark, well, everything is going alright.

Every time you need to start a VRidge experience you have only to:

  1. Launch all ImmotionRoom services (if you selected to launch them at startup, you’ve only to launch Iridge);
  2. Launch VRidge on your PC and smartphone and start a SteamVR game;
  3. Now this is a bit tricky: every time you launch an app, you have to put your smartphone in the same direction of point 5 and 10.2 of the previous list, for the same reason explained at point 10.2: ImmotionRoom has a clear reference system fixed in the world, while Cardboard apps creates a reference system every time you start an application, so we have to ensure they’ll have the same reference orientation. Another advice: if you’re using Cardboard (and not GearVR), remember that gyroscopes are not stabilized, so in the long term the kinect and the headset will lose their initial reference system match (there’s nothing we can do on it): to mitigate it, my advice is to not perform fast and abrupt rotations. Just to be clear: these are issues that are present with every setup involving Kinects and VRidge, are not a problem of ImmotionRoom.

And that’s it! After an initial a bit more complicated configuration, you’re able to play VRidge with Kinect positional tracking out of the box, super easily, everytime that you want! I think that’s great! Try it (downloading VRidge and ImmotionRoom) and let me know your opinion!

Hope you liked this tutorial… if it is the case, please like and share!