All Projects → okawo80085 → hobo_vr

okawo80085 / hobo_vr

Licence: MIT license
SteamVR driver prototyping tool

Programming Languages

python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language
NSIS
403 projects
CMake
9771 projects
GLSL
2045 projects
shell
77523 projects
Batchfile
5799 projects

Projects that are alternatives of or similar to hobo vr

Simple-OpenVR-Driver-Tutorial
A sample OpenVR Driver for you to learn from
Stars: ✭ 157 (+256.82%)
Mutual labels:  vr, openvr, steamvr, virtual-reality
Joy2OpenVR
Interface to OpenVR Input Emulator to translate any Direct Input controllers commands into VR Controller commands
Stars: ✭ 25 (-43.18%)
Mutual labels:  vr, openvr, steamvr
TurnSignal
An anti-cable-twisting management utility for SteamVR.
Stars: ✭ 73 (+65.91%)
Mutual labels:  vr, openvr, steamvr
thedarkmodvr
VR support for The Dark Mod
Stars: ✭ 49 (+11.36%)
Mutual labels:  vr, openvr, steamvr
HadesVR
The "DIY" SteamVR compatible VR setup made for tinkerers.
Stars: ✭ 88 (+100%)
Mutual labels:  vr, driver, virtual-reality
TJUCam
SteamVR Compatible Motion Controller with ESP8266 and Raspberry Pi
Stars: ✭ 29 (-34.09%)
Mutual labels:  vr, openvr, steamvr
vr-python-quickstart-hg1
VR Headset Controller Tutorial, get started with virtual reality in Python
Stars: ✭ 29 (-34.09%)
Mutual labels:  vr, openvr, virtual-reality
PhoneVR
Use Steam VR-enabled applications with your phone as HMD (Head-mounted display). The only Open-Source solution to similar commercial packages like VRidge, iVRy, Trinus etc etc.
Stars: ✭ 178 (+304.55%)
Mutual labels:  vr, steamvr, virtual-reality
MoonMotion
Moon Motion Toolkit - Free and open source toolkit for VR locomotion
Stars: ✭ 38 (-13.64%)
Mutual labels:  vr, steamvr, virtual-reality
EasyOpenVRUtil
EasyOpenVRUtilは、Steam VR for Unityのちょっと足りないところを埋め合わせるためのライブラリです。特に、コントローラやトラッカーの座標を直接取得したり、非VRだけど位置情報は使いたいといった用途に向いています。その他あると便利な機能も実装しています。
Stars: ✭ 37 (-15.91%)
Mutual labels:  vr, openvr, steamvr
Vrtk
*Beta* - An example of how to use the Tilia packages to create great content with VRTK v4.
Stars: ✭ 3,422 (+7677.27%)
Mutual labels:  vr, steamvr, virtual-reality
Viveinpututility Unity
A toolkit that helps developing/prototyping VR apps.
Stars: ✭ 256 (+481.82%)
Mutual labels:  vr, steamvr, virtual-reality
Virtualmotiontracker
Virtual Motion Tracker - バーチャルモーショントラッカー OpenVR OSC Tracker Driver for DIY users
Stars: ✭ 78 (+77.27%)
Mutual labels:  vr, driver, steamvr
Patches
Patches is a visual programming editor for building WebVR and WebGL experiences.
Stars: ✭ 164 (+272.73%)
Mutual labels:  vr, virtual-reality
Vivegrip
Physics-based grabbing for SteamVR development in Unity.
Stars: ✭ 159 (+261.36%)
Mutual labels:  vr, virtual-reality
Guri Vr
https://gurivr.com
Stars: ✭ 177 (+302.27%)
Mutual labels:  vr, virtual-reality
Aframe
🅰️ web framework for building virtual reality experiences.
Stars: ✭ 13,428 (+30418.18%)
Mutual labels:  vr, virtual-reality
Kerbal Vr
An add-on for Kerbal Space Program (KSP) to enable virtual reality.
Stars: ✭ 142 (+222.73%)
Mutual labels:  vr, virtual-reality
Zinnia.unity
A collection of design patterns for solving common problems.
Stars: ✭ 177 (+302.27%)
Mutual labels:  vr, steamvr
Stereokit
An easy-to-use mixed reality library for building HoloLens and VR applications with C# and OpenXR!
Stars: ✭ 195 (+343.18%)
Mutual labels:  vr, virtual-reality

⚠️ We moved! ⚠️

This project moved, this repository will be archived soon, however development will contienue in the new repository here!

Hobo VR

hobo_vr is a collection of tools made to prototype SteamVR headsets.

hobo_vr tools and features:

  • hobovr a flexible SteamVR driver(see driver/ and hobovr/)
  • virtualreality API to communicate with the hobovr driver from other languages and processes(see bindings/)
  • poser is a term used to describe a program that implements a tracking system and uses the virtualreality API to integrate it's tracking system and devices with SteamVR
  • Installers to make the setup process as easy as possible(see installers/)
  • Linux support, so far hobo_vr is the only open source SteamVR driver solution that works on Linux(more info on the topic can be found below)

Upcoming hobo_vr features and tools:

  • New tracking systems
  • New lens calibration tools
  • New camera calibration tools
  • New configurable controller types
  • New poser packages and installer support for them

hobovr SteamVR driver

There are 2 main features of this driver that distinguish it from the rest.

One is an open and flexible communication protocol which allows developers to fully control the driver without the need to directly use openvr_driver API, more info here, for convenience the said protocol is implemented in virtualreality.

And the other is generic device configurability, one can configure devices either at runtime or not, hobo_vr provides 3 types of generic devices at the moment of writing this: 1. Headset, inputs(tracking) outputs(headset view) 2. Controllers, inputs(tracking, buttons, trigger, touchpad) outputs(haptic signals) 3. Tracker, inputs(tracking) outputs(haptic signals)

More info on device types can be found here.

virtualreality API

A simple yet flexible object oriented implementation of the hobovr driver protocol and a runtime for the said protocol, more info can be found here.

This API has multiple language implementations, currently Python and C++, see bindings/.

Poser(s)

As mentioned before poser is a term used to describe a program/process/solution that implements the hobovr driver protocol(via virtualreality API or otherwise) to implement tracking and hw communication, be it tracking(constellation tracking, SLAM, blob tracking, IMU tracking, etc.) or inputs(button events, trigger readings, touchpad coordinates, joystick location, etc.).

Most extensive poser examples can be found in bindings/python/examples/. C++ poser examples are also available of course, but are way less informative and there are fewer of them at the moment of writing this, the said C++ examples can be found in bindings/cpp/examples/.

Linux support

Linux support is a huge concern, however it is not made easy by the absent openvr_driver API documentation not to mention the blatant disparities in the API functionality between platforms with no explanation what so ever, bugs, dead interfaces, undocumented interfaces, etc. working with openvr_driver API especially on Linux is downright repulsive!

However despite all of that hobo_vr has Linux support, not without issues of course, HMD component openvr issue #1583, spawning a controller device spams binding config loads and kills SteamVR and ALL of this behavior is produced by the same openvr_driver API implementation for both platforms, and to add insult to injury, there are no debugging tools, and the only tool for registering drivers opens a browser, the only cli tool we have to register our drivers opens a fucking browser...

Linux support will get better, no matter how painful it will be or how long it will take, it will be improved and hopefully openvr_driver API will be improved as well.

Why?

Because the alternatives suck and prototyping with openvr_driver API is a huge pain.

Contributing

Is always welcomed. Join the discussion over at Discord here, but pull requests are welcome here too. Please explain the motivation for a given change and examples of its effect.

Also it is strongly encouraged to follow these contribution guidelines

License

This project falls under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].