Motion Controls & Tracking - oneup03/VRto3D GitHub Wiki
VRto3D is a SteamVR "HMD" and as such can utilize Lighthouse tracked devices. It is thus possible to play even more VR games in 3D by setting up motion controllers. Just using the Vive Tracker for head tracking works great in flying/driving games - you don't need to use the motion controllers if you don't want to.
Hardware Requirements
-
At least 1 Lighthouse (can be V1 or V2)
-
1 Vive Tracker (any version should work, V3 tested)
- It is also possible to use the Open Track support for 3DoF and manually set hmd_height, hmd_x, hmd_y, hmd_yaw in VRto3D using the hotkeys described in the readme, but it's trickier to get the offsets right
-
Some way to mount the tracker onto the top of your head. I used cheap plastic crafting headbands (headphones could work too) + foam mounting tape + 3D printed part + 1/4-20 male to male tripod screw
- Here's the 3D part stl that will need tapping with a 1/4-20 tap
- Example photo:
-
2 Tracked controllers (Vive Wands tested)
-
3 "Watchman" USB Dongles for Vive Tracker/Controllers (there are 3rd party alternatives that may work) (wired mode may also work but isn't recommended)
-
Optional USB Hub
VRto3D Steps
- Get VRto3D setup for your display if it's not already set
- Change these parameters in
Documents\My Games\vrto3d\default_config.json
"fov": 90.0,
"depth": 0.065,
"convergence": 0.86,
"dash_enable": true,
"pitch_enable": false,
"yaw_enable": false,
"use_open_track": false,
- If you want to play some games with motion controls instead of a gamepad, you may also need to modify individual game VRto3D config files to disable pitch/yaw
SteamVR Vive Tracker Steps
- (Uninstall OpenVR Input Emulator if you have it installed)
- Mount your Vive tracker to your head, You must mount the Tracker with Charging port facing backwards
- Connect your Vive tracker to SteamVR using its dongle
- Update your tracker firmware through SteamVR if needed
- On the SteamVR Status window click the Menu Button -> Settings -> Controlloers -> Manage Vive Trackers
- Assign your tracker a 'Camera' role
- Exit SteamVR
- Now you need to edit your steamvr.vrsettings (located in Steam\config)
Add a following line:
"TrackingOverrides" : {
"/devices/htc/vive_trackerLHR-SERIALGOESHERE" : "/user/head"
},
Replace SERIALGOESHERE with your trackers serial number which you can find in "trackers" section use the tracker with camera role:
"trackers" : {
"/devices/htc/vive_trackerLHR-YOURSERIAL" : "TrackerRole_Camera"
}
- Save the file.
- Turn on your tracker and start SteamVR.
- Upon opening SteamVR, VRto3D should start to follow the Vive Tracker, but rotated 90 degrees offset (fixed in next section)
Vive Tracker Firmware Steps
- Exit SteamVR
- For safety, disconnect all SteamVR devices (HMDs, Trackers, Dongles...)
- Connect just your head Vive tracker with USB cable
- Run lighthouse_console.exe (Usually in: Steam\steamapps\common\SteamVR\tools\lighthouse\bin\win64)
- Execute this commands:
- serial (you shold see only your tracker connected as LHR-YOURSERIAL from previous steps.)
- serial LHR-YOURSERIAL
- downloadconfig
- You will now have config file LHR-YOURSERIAL.json in the same directory, Back up this file! (IMPORTANT)
- Open the config with notepad and edit the
plus_z
to match (don't touch other fields):
"head": {
"plus_x": [
1,
0,
0
],
"plus_z": [
0,
-1,
0
],
"position": [
0,
0,
-0.001500000013038516
]
},
- Additional changes can be made if you want a different mounting angle or position offset. Reference Valve's Documentation for more details.
- Save the file.
- Now execute this command in lighthouse_console.exe: uploadconfig LHR-YOURSERIAL.json
- That's it, close the lighthouse console, plug in all your VR stuff and go test it in SteamVR!
- Make sure to keep the backup json file somewhere safe, as if you ever want to go back to using your tracker for something else you'll need to upload the original config file to it
Troubleshooting
- You may need to use OVR Advanced Settings to set the floor of your environment. Launch the app in its
Desktop Mode
. UnderSpace Fix
run theFix Floor
steps - placing a controller on the ground and pressing a button
Cheap Alternatives
- VRto3D Pitch & Yaw emulation
- Allows you to move the HMD camera, but doesn't give you 6DoF tracking or motion controls
- Set
pitch_enable
andyaw_enable
totrue
inDocuments\My Games\vrto3d\default_config.json
- Open Track
- 3DoF head tracking can work well with the OpenTrack support built into VRto3D. You can utilize Cameras, small IMUs, a smartphone, etc.
- Set
use_open_track
totrue
and modifyopen_track_port
if necessary inDocuments\My Games\vrto3d\default_config.json
- Available here
- Driver4VR
- A comprehensive paid solution that supports a wide variety of hardware including PS Move controllers, Kinect, webcams, JoyCons, Wiimotes, and more for motion controls
- You can even use a Xbox controller, but it's quite janky
- Many controllers are limited to 3DoF only without additional tracking like Kinect or Cameras
- Available here