Hobo VR
a pc vr solution for hobos don't ask why
Works with IMU and camera based homemade VR devices, or other devices if you provide the tracking.
Steam View:
Debug view:
Some Beat Saber gameplay(done using color_tracker):
Usage
- From one terminal, run:
pyvr server
- This launches the server, which gathers information from trackers and passes that into steam. More info: Server Documentation
- Then, launch a tracker
- Default tracker:
pyvr track
- This tracks bright spheres like in PSVR. Requires a webcam.
- Implement and run a custom tracker. For example:
python -m examples.poserTemplate
- More info: Python Docs
- Default tracker:
- Then, launch any steam VR game.
Setup
- Steam, SteamVR, and Python 3.7.x must already be installed.
- In a terminal, run:
git clone https://github.com/okawo80085/hobo_vr
- Install the driver:
- Windows:
- double click the driver_register_win.bat file
- Linux:
cd ~/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/
./vrpathreg adddriver "full/path/to/where/you/cloned/hobo_vr/hobovr"
- Windows:
- Install python repo:
pip-3.7 install -e .
More info: quick start guide
Docs
Network Diagram:
Development Requirements
C++: openvr
Python: No extra requirements.
To Do
There's a lot still left to be done. Here are a few todo items:
Steamvr/Openvr:
- Send frame textures over USB to a phone, using something like rawdrawandroid
- Send frames wirelessly, compression depending on bandwidth.
General software:
- Replace OpenCV so we can open the same camera every time instead of a random one. (Windows only. Already done in Linux.)
- Real time SLAM for inside out tracking without IR or other LEDs.
- Stereo depth estimation so 3D models or menus can interact with the world and with games, and so lag is less disorienting.
- Scan body once with webcam, or opportunistically, so we can use IMU-only tracking later.
- VR pass through.
- Camera based finger tracking. Necessary for sign language users.
Hardware:
- Create default list of parts to buy for controllers and headset.
- Create simple IMU-only trackers to be used with Udu.
- Create 3D printable models for headset, controllers, and trackers.
Would be Awesome:
- Speech recognition. Just go full Iron Man + Jarvis.
- Windows / UI
Bug Reporting / Contributions
just do it
Fun / Extra
Custom Controller Textures(hobo_vr/hobovr/resources/rendermodels/hobovr_controller_mc0/onepointfive_texture.png
could be changed to fit your desire):
Lots of tracking: