dantman / elite-vr-cockpit

A SteamVR Overlay providing a virtual throttle and joystick and holographic buttons for ship functions, with custom integration into Elite Dangerous
Other
320 stars 36 forks source link

Unable to interact with ED or the cockpit overlay (Oculus) #295

Open RenKorrum opened 2 years ago

RenKorrum commented 2 years ago

I followed the startup guide, and set up ED to run via windows 7 compatibility mode. As the app shows, it can recognize the game running and whether its focused or not. When I load into ED, the overlay for the hand(s?) is inside of the HMD's starting position, and moves whenever I reset the HMD position in ED. Also, none of the buttons on my controllers are registering anything in ED, even when I try to map them to something. Not sure what's going wrong but its completely unusable. desktopview

dantman commented 2 years ago

When I load into ED, the overlay for the hand(s?) is inside of the HMD's starting position, and moves whenever I reset the HMD position in ED.

Does it make any difference if you reset using SteamVR's reset seated position button or the overlay's reset gesture (it should be holding down one of the system buttons, but I'm not 100% sure it works). So far I've found resetting the seated position a couple of times works around the hard to track down offset bug.

Also, none of the buttons on my controllers are registering anything in ED, even when I try to map them to something. Not sure what's going wrong but its completely unusable.

Are you referring to pressing buttons on the controller? The controller buttons do not map to any HOTAS outputs to map. All HOTAS bindings are on the virtual HOTAS controls you grab with your controllers. You can bind them by turning on edit mode and menu mode to get the panel with a list of buttons to bind all the axis to ED controls.

RenKorrum commented 2 years ago

I've tried using the overlay's reset gesture, and it doesn't seem to do anything. I think the root issue may be that for some reason the overlay can't seem to use my controllers unless I'm grossly misunderstanding how it works.

dantman commented 2 years ago

I think the root issue may be that for some reason the overlay can't seem to use my controllers unless I'm grossly misunderstanding how it works.

Do they move around when you move your hands? If so then they are being used. But the seated position offset or worldspace is wrong.

They also usually end up on the floor when they aren't connected to a controller, so if they're in your head it doesn't sound like they're not being used.

RenKorrum commented 2 years ago

No, they don't move with the controllers, and like I said, the graphic starts where my head is.

dantman commented 2 years ago

Ok, I don't really have an idea why the overlay wouldn't be receiving controller position from SteamVR.

RenKorrum commented 2 years ago

What would you recommend trying then? Clean install of steamvr? xD

dantman commented 2 years ago

Best lead I can give you is to start with what users that had #252 tried, which had Oculus related offset issues but not the same issue.

Failing that you can of course go through the standard troubleshooting steps of reinstalling and checking various things. Or if you're adventurous or technically inclined enough you can try opening up the project in the Unity Editor and insert debugger breakpoints/logging in various places to figure out what information the overlay is receiving from SteamVR.

RenKorrum commented 2 years ago

I've tried the solutions in #252, a clean install of both steamvr and oculus, and the issue persists with the "hands" still being stuck where the head starts after resetting the seated position. I'm out of ideas, so I'll leave it up to you if you want to close this or not.

dantman commented 2 years ago

Last suggestion I can make is to try another overlay that uses controllers like Desktop+ or OVRToolkit and see if they work. Just to confirm whether this is something specific to this overlay not getting controller positions; or it's a specific bug in your configuration.

RenKorrum commented 2 years ago

Desktop+ is able to attach overlays onto my controllers, while in steamvr home, and ED, while EVRC still has the issue persisting.

dantman commented 2 years ago

Ok then it's something specific to the APIs EVRC uses which could be debugged in the Unity Editor.

RenKorrum commented 2 years ago

Could you point me at a tutorial on how to do that? Most I've done in unity was prepare assets for VRChat lmao

dantman commented 2 years ago

If you checkout the project's source code (I would prefer git, but you can also just download the latest release's source code) you should be able to open it up in the Unity Editor. I recommend using Unity Hub, the project is built with Unity v2019.2.19f1 and Unity Hub will help installing/launching the right version.

The overlay is just the Assets/Scenes/EVRC.unity scene and running it in the editor should run the overlay the same as what you've been using.

I would recommend debugging breakpoints in Visual Studio if you can. But if that's too much trouble you can also just edit the .cs scripts using System.Debug.LogFormat("...{0}...", ...); to output things to the console when they happen.

I don't know where your issue might be. But Assets/Scripts/ActionsController_SteamVRInputBindings.cs is where most of the SteamVR buttons and axis are bound, you could check if the OnValidPoseChange or OnPoseChangeListener ever actually receive a hand pose from SteamVR.

RenKorrum commented 2 years ago

Alright. I looked around for info on how to do this, and I still have no idea what I'm doing. Would you be willing to make a debug build so I could give you all the logs? I understand if you don't want to since this sounds like it'll end up being some weird edge case, but doing this sort of thing is beyond me.

dantman commented 2 years ago

A bit to much work to go back and forth publishing builds with small tweaks.

Maybe in the future I'll add just a little more logging (e.g. when the overlay sees a hand connect/disconnect). Or some way to do more logging.

But at the moment I'm a bit to busy and haven't been working on the overlay because there are still too many boxes in my new living room to setup any of my VR hardware.