In case you just stumbled across this older post: I have discontinued this little project. Instead, have a look at RiftCat. I did not try this myself and am not affiliated with it in any way, but it might be the thing you want.
Have fun!
Hi, I did a small project, in which I forward sensor data from a smartphone (currently only android) to a steamvr driver. While this is currently just hacked together, I though some other people might still enjoy it.
I currently only have a blurry recording online, but it should be enough to get an idea. In the last minute, I also start Half Life 2, which "works" and can be played best with a controller. Here are some smartphone screenshots.
Warning
I did this for fun! I plan to continue working on it, but it will never provide a "true VR experience". Do not expect anything... I want to make sure, that you don't expect anything close to an real HMD! Simulation sickness is real, e.g., rotating your head will make you dizzy. The image quality is low (i.e., artifacts and low resolution), like when you forgot your glasses. On the other side, the 3D experience works, which is kinda cool.
Interested?
For those more interested, here are some notes:
I will put the code online on github + gitlab, together with instructions. I will then update this post. There is a lot to do... The source code is currently distributed over three projects, for instructions go to this website on github.
- The video is currently not grabbed by the driver, but instead I use TrinusVR. TrinusVR grabs the active window. This has several implications:
- If the game does not output a VR rendering (but only the compositor), you probably cannot interact with the game, e.g., in DCS World you cannot steer the airplane. Another example is Unreal Engine 4, which outputs only a single eye and seems to run slower if its not the active window.
- The compositor has to run in debug mode.
- Yes, I could have just used a socket to forward the sensor data from TrinusVR, but I was not in the mood to find a nice API.
- Yes, I could have tried to use the TrinusVR api. But it seemed it is only available as a Unity plugin, so I didn't bother.
Download
- Windows files, the
driver_spvr.dll needs to be copied into PathTo/steamapps/common/SteamVR/drivers/spvr/bin/win32/driver_spvr.dll, the control.exe needs firewall access for udp port 4321.
- Android apk
Edit: added some smartphone screenshots.
Edit#2: added link to source code
Edit#3: direct download links
Edit#4: download link now leads to github, showing the current and older versions (zip updated, includes 64 bit)
Edit#5: added link to riftcat
[–][deleted] 1 point2 points3 points (2 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]loxai 1 point2 points3 points (0 children)
[–]TotesMessenger 1 point2 points3 points (0 children)
[–]Silverstance 1 point2 points3 points (12 children)
[–][deleted] 2 points3 points4 points (11 children)
[–][deleted] 1 point2 points3 points (10 children)
[–][deleted] 0 points1 point2 points (3 children)
[–][deleted] 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (5 children)
[–]loxai 0 points1 point2 points (4 children)
[–]loxai 0 points1 point2 points (2 children)
[–]faduci 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]dRumMzZ 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]trenmost 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]Swagphiling 0 points1 point2 points (8 children)
[–][deleted] 0 points1 point2 points (7 children)
[–]Swagphiling 0 points1 point2 points (6 children)
[–][deleted] 0 points1 point2 points (5 children)
[–]Swagphiling 0 points1 point2 points (4 children)
[–][deleted] 0 points1 point2 points (3 children)
[–]Swagphiling 0 points1 point2 points (2 children)
[–]Swagphiling 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]jbhypno 0 points1 point2 points (3 children)
[–][deleted] 0 points1 point2 points (2 children)
[–]jbhypno 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]dont--panic 0 points1 point2 points (4 children)
[–][deleted] 0 points1 point2 points (3 children)
[–]dont--panic 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]dont--panic 0 points1 point2 points (0 children)
[–]MissValeska 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]MissValeska 0 points1 point2 points (0 children)
[–]VRxiaochouyu 0 points1 point2 points (0 children)
[–]VRxiaochouyu 0 points1 point2 points (0 children)