Coder Social home page Coder Social logo

johny-adri2 / openvr-opentrack Goto Github PK

View Code? Open in Web Editor NEW

This project forked from r57zone/openvr-opentrack

0.0 0.0 0.0 393 KB

OpenVR driver with OpenTrack support / OpenVR драйвер, с поддержкой OpenTrack

License: Other

C++ 48.29% C 16.74% C# 34.94% CMake 0.03%

openvr-opentrack's Introduction

EN RU ← Choose language | Выберите язык

OpenVR OpenTrack

OpenVR / SteamVR driver allowing head tracking with any OpenTrack trackers, for DIY VR headset made of Android smartphone or HDMI display, headset and tracker.

OpenTrack supports the following trackers: FreePie UDP receiver (FreePie IMU for Android), Hatire Arduino or Razor IMU (Arduino + GY-85), Oculus DK1, Aruco (Paper + WebCam) and etc.

youtube-freetrack

Setup

  1. Install SteamVR.
  2. Unpack SteamVR FreeTrack or UDP driver to folder "...\Steam\steamapps\common\SteamVR\drivers" (both are supported in OpenTrack, I recommend using FreeTrack). If necessary, configure the settings in the configuration file "...\Steam\steamapps\common\SteamVR\drivers\opentrack\resources\settings\default.vrsettings".
  3. Download, install and configure OpenTrack (add hot centering key, disable filter, change output interface "freetrack 2.0 Enhanced" or "UDP over network", depending on the selected driver). If you selected UDP, then in the output interface settings you need to set IP "127.0.0.1".
  4. SteamVR starts and in the SteamVR status window click -> Room settings -> Small room -> Calibration -> 170 cm. The SteamVR tutorial can be closed and SteamVR Home is disabled in the SteamVR settings.
  5. Put on HMD and controllers, then centering them if necessary.

If you are using an Android smartphone, you need to use FreePie IMU from the OpenTrack archive to tracking and you can use the "Moonlight" for smartphone and Sunshine or Open-Stream for PC to stream picture from the monitor screen. Also you can use this guide.

If you use the Arduino Razor IMU tracker, you can use this driver, with its SteamVR driver or the Razor IMU SteamVR application.

Configuration file options

Name Description
CrouchPressKey The code of the crouch key, you can change the key in the configuration file by typing the desired name code). It is necessary for communication with other drivers, for example, using Razer Hydra controllers and using this driver you can crouch.
CrouchOffset The height of the crouch at the press of a button.
DistanceBetweenEyes The distance between stereo images, the larger the closer.
DistortionK1, DistortionK2 Lens distortion factors.
ScreenOffsetX Horizontal image shift.
ZoomHeight, ZoomWidth Scaling factors of stereo images.
FOV Degree of field of view. You can zoom in, depending on the VR headset lenses.
displayFrequency Screen refresh rate.
renderWidth, renderHeight Image rendering resolution for one eye.
windowWidth, windowHeight Height and width of the displayed window.
windowX, windowY Window offset is required for display on other monitors. For example, to display on the second display, which is displayed on the right, you need to specify the value 1920 (provided that the first display has a resolution of 1920 by 1080). The exact data can be viewed using the MultiMonitorTool utility, and also with it you can turn off and turn on the second monitor via a bat file.
DebugMode Debug mode, locked at 30 FPS. After checking, it is recommended to set it to false (disable).

Known Issues

  1. Red screen. You can fix this by selecting the "Headset Window" window.
  2. The keyboard, mouse and gamepad don't work when using the driver on one monitor (The game window should be in focus). On systems with multiple monitors, you can move the application to second monitor and select it, then everything will work.

Download

Version for x86 и x64.
Download

Feedback

r57zone[at]gmail.com

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.