There’s two basic options for getting the Kinect running in SteamVR.
KinectToVR which is free and has a decent youtube tutorial on getting it working.
Or there’s the pay option via Driver4VR which has a quick set of instructions here.
I’ve used KinectToVR and had a reasonably easy time of it. The only hiccups seemed to be is that getting the position and rotation of the kinect tracker was a bit of a hassle. I’m pretty sure this was because I was using an WMR setup. Basically, you’ve just gotta be really light on your WMR touchpads and cajole them into the right location and rotation. Mess with it enough and you’ll get it.
Playing around with this in VRChat leads me to believe that doing any real Body Transfer Illusion with the Kinect doesn’t seem too likely. There’s a lot of lag and not a whole lot of feeling embodiment. But I’ll still mess with it and it will give me an avenue for emulating Lighthouse trackers for the time being.
Below this point is my own software and experimentations.
I’m currently adapting a Kinect 360 to stream skeleton data over a websocket connection so that it can be used by my gearVR for Full Body Tracking in VR. Responsive enough Full Body Tracking combined with a type of haptic stimuli input will allow for experimentation with the psychological phenomena of the Body Transfer Illusion. Currently stuck at converting skeleton data to proper Mecanim transforms.
Hardware in use
HMD: Samsung Gear VR with a Galaxy S7
Positional Tracking: NoloVR
Body Tracking: Microsoft Kinect Sensor for XBox 360
Here is an example of the Skeletal Data being directly mapped to cube transforms.
Here is an example of Skeletal Data being mapped to Mecanim Model’s transforms.
We’re not quite there yet. Currently taking a break on the project, but will release the streaming software and Unity code on my github when finished.
Note: Microsoft is iffy about the scenarios it lets you run the Kinect 360 on a PC. I’ve noticed off a fresh reboot I can get away with running the Skeleton Demo forever without issue, but if I happen to be running Unity in the background or if I’m running code that has a namespace that doesn’t start with Microsoft.Kinect.* at the very least will cause the Kinect sensor to timeout / cease to work after (1:30) 90 seconds.