Holocab
A downloadable VR overlay
Introduction
HOLOCAB is a VR overlay application which runs alongside existing flying or driving games and provides an immersive virtual control scheme for operating the games controls. Ultimately virtual joysticks, throttles, steering wheels and buttons can be created and positioned in virtual space and then mapped in game like a real joystick or steering wheel.
IMPORTANT
In the current build one joystick and one throttle are preconfigured along with button textures intended for use in Elite Dangerous. Future versions will add more configuration options and additional game profiles.
THIS IS AN EARLY BUILD! Some features are not yet implemented or may not work correctly. Bugs are likely and things may have been explained poorly or not at all. Please leave comment here, over on one of the reddit threads on /r/VirtualReality /r/EliteDangerous or on a forum thread in the elite dangerous forums and I'll do my best to help and improve things going forward.
Installation and setup
Download the Holocab.zip file and unzip the contents into a folder on your PC (future version will be bundled in an installer).
IMPORTANT - HOLOCAB requires the virtual joystick device vJoy. Download it from here http://vjoystick.sourceforge.net/site/index.php/download-a-install/download
Run the downloaded vJoySetup.exe to install the joystick drivers and configuration tool. You may need to restart you computer to complete the installation.
Once the vJoy device is installed open the Configure vJoy program from your start menu (or run vJoyConf.exe from the vJoy installation folder)
Currently HOLOCAB requires joystick 1 in vJoy be setup as follows
- All axes ticked
- Number of buttons = 32
- POV Hat Switch set to 4 Directions
- POVs set to 4
- Force feedback effects aren't currently used but leave them ticked as future versions will probably make use of them.
- Make sure Enable vJoy is tick in the lower left
Click Apply, this may take a moment and a further reboot may be required.
That's it, HOLOCAB should be ready to use.
Running HOLOCAB
Make sure SteamVR is started and both controllers are turned on.
Run Holocab.exe from the folder you installed it to. You will see the HOLOCAB controls appear in your HMD
Launch the game, HOLOCAB's controls should continue to render over the game.
Using HOLOCAB
All controls in HOLOCAB are accessed by using your VR motion controllers. In this version I've only tested Vive controllers, all functions should map to and work on Oculus and WMR controllers but I'm not sure exactly which buttons map where. Future versions will clarify this and provide remapping options.
The actual event triggered when pressing a motion controller button depends on what you're doing with it. The three states are default, hovering (when the motion controller is hovering over a HOLOCAB control) and grabbing (when a control like a joystick or throttle is currently "grabbed" by that motion controller)
Button | Default | Hovering | While Grabing |
Trigger | btn1 | Use Holobutton | Grabbed control btn 1 |
Grip | NA | Grab (hold) | NA |
dPad | Joy Hat | NA | Grabbed control dPad/Axis |
Menu | btn2 | NA | Grabbed control btn 2 |
This way both motion controllers can perform different function depending on how they're being used at the time.
There are 2 basic types of interactables
Holobuttons - These are 2d buttons which float in 3d space, each can have a different texture assigned to it. Buttons will light up when you touch them with the motion controller. Pulling the trigger while the button is lit will fire it's event. Most Holobuttons map to a single unique joystick button event.
HoloControls - These are virtual versions of classic controllers like joysticks, throttle handles and steering wheels (currently only a joystick and throttle is implemented). They are interacted with by pressing and holding the grab (grip) button on the motion controller while hovering over the control, then simply moving your hand as if you where holding a real device. Letting go of the grip button releases the control. (A toggle option will be added in the future). While holding a holocontrol the motion controller trigger, menu and touchpad will pass their events through to the holocontrol.
(IMPORTANT NOTE) In the current version neither the throttle or the joystick are rendered. They have been positioned to match up with the Elite Dangerous stick and throttle. You can see them and reposition them be unlocking the config padlock (see Configuration below)
NOTE - In Elite Dangerous the ground vehicles have a different position for the stick and throttle. To support this there is a mode switch button that reads MODE FLT MODE, use this button to switch between ground and flight mode. It will automatically reposition the controls stick and throttle for the selected mode.
In Game Configuration
HOLOCAB outputs via a virtual joystick device so mapping controls in game works the same as mapping a real joystick or game pad.
I highly recommend you map the interface controls to either the left or right controllers default dPad, select to trigger and next panel to menu btn. with these mapped you can easily navigate the menus and map the rest of the controls.
You can rearrange the positions of the controls by toggling the config padlock button (default position is behind you to the left). While unlocked Holobuttons and controls can be grabbed and repositioned. Additionally Holocontrols will render a stick to show their interaction position. To move the control grab 5-10cm below the rendered control (or you will just interact with the control as normal).
Flight and Ground mode have independent position saves for all buttons and controls.
Status | On hold |
Category | Tool |
Rating | Rated 5.0 out of 5 stars (1 total ratings) |
Author | WeirdWizardDave |
Genre | Simulation |
Tags | Driving, htc-vive, Oculus Rift, overlay, Virtual Reality (VR) |
Inputs | Oculus Rift |
Comments
Log in with itch.io to leave a comment.
I've not used this yet, but it looks great. What plans/thoughts do you have for Valve Index Controller support?
I can just imagine reaching out to press a button with my finger tips, or typing on a virtual keyboard with this.
having same problems as a few others, cant get passed the holocab having a blue screen , im using oculus rift s if anyone can help please
Thank you for developing this. It works quite well with my knuckle controllers once I mapped everything our properly. I still have a few questions for things I haven't figured out after using this for several game sessions. .
Do the Holo button positions reset every time you restart the game, or is there a way to save their position once you move them? Also, I haven't been able to figure out how to re-position the throttle and Joystick. Grabbing them like you can with the other Holo buttons doesn't seem to work the same. Finally, is there a way to add more buttons? While I haven't mapped all the buttons available to me yet, I just love the concept of reaching around my cockpit to run everything.
I've followed the steps however ED doesn't start completely while Holocab is on.
Holocab stays on, ED kinda starts but then it sends me back to SteamVR living room. Game doesn't launch (but steam thinks the game is running)
Any ideas? Much appreciated
Throttle doesn't work for valve index, and the rotation will continuously drift. I tried it again today and then holocab doesn't let the controllers interact with the game at all, so I can't even hit continue
Good day,
Is this project still on? Need help to get it to work properly.
Hey WWD,
Having some trouble getting it to start up properly. When I launch Holocab.exe, all I get is a light blue color through my HMD. Using an Oculus + touch controllers. Guidance would be appreciated ^^
For some reason the throttle isn't working for me. Doesn't even show up when I hit the lock button. The flight stick works fine though.
Hi,
I have problem with the tracking of the throttle: Every time I jump in another system, I can't move it anymore. All other funktions work just fine.
That's really weird. Does it happen every time? It's possible it's getting out of sync somehow. Try setting the throttle to zero just after jumping.