Main > Lightguns |
VR lighthouse based tracking for lightguns |
<< < (5/11) > >> |
Toasty833:
--- Quote from: greymatr on April 24, 2024, 10:30:20 am ---I had tried something with the client commandline program but it didn't work. But I didn't know about it faking a tracker and maybe that's why --- End quote --- I tried messing around a bit with modifying the create_virtual_controller example file to generate a fake controller and move it roughly to the middle of my play field, it partially worked after swapping it with my headset but messing with both the offsets in OVRIE and directly writing them with the commandline didn't really generate the desired effect, the controller visually moves around the playspace and the calibration seems static to the fake controller, but adjustments don't make any changes. I think that what might actually be happening during the swap is that the headset gets confused and becomes stationary at its last position rather than swapping the tracking to the fake controller, so maybe it's not usable. Swapping a real tracker with the headset seems to work, maybe it's a limitation of the virtual device, and I'm unsure if the client can modify the position of real devices. |
Toasty833:
So I've been doing a bit of testing with Virtual Desktop + modified OpenVR2Key and so far things are working pretty well. I've got an AHK script to make clicks on the edge of the screen convert to right click, which works with all the games I've tried so far, but it still has a few kinks to iron out. M2 has 16:9/4:3 cursor mismatch, but calibration seems to fix it. Mame has the same issue (after setting mouse/lightgun handling to win32, none of the other options worked), but I haven't worked on it yet. Teknoparrot picks up the clicks as "unknown device", and works on the couple of games I've tested so far. Demul (with nomousy), Model 3, and PS3 emulation all seem to work with no issues so far. |
greymatr:
I've had a look at the OVIE source code and I got the original source code to compile and I think the important part of the fixed version. I looked through the code and I think I know what I need to do to be able to lock the pose and position of the headset but I need to get the overlay program to be able to read the current data and then send it through to the driver dll to be able to make it stay at that saved position. I will also have to work out how I can do all the user interface side of that in the overlay. I think it is all possible but it'll take me some time to work through. |
greymatr:
I've got something to work now. I had been trying to get it to work with the OVIE overlay/desktop program but I couldn't work out how to change the UI. They use Qt which I'm unfamiliar with and it sent me in circles. So I ended up modifying the client_commandline program and the driver instead. You will need to copy the driver_00vrinputemulator.dll into the steam folder: C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\00vrinputemulator\bin\win64 I would rename the one that will be in there. Then with the program I have made two batch files, save.bat and replay.bat The commands they run are: client_commandline savepose 0 vrdeskHMD.txt and client_commandline replaypose 0 vrdeskHMD.txt 0 is always the device ID of the HMD and the filename can be changed. Use save.bat to get the current position and rotation of the HMD and put it in the txt file. Then replay.bat will use that and start the driver replaying the saved pos/rot. It will do so until a key is pressed OVIE can be used to enable offsets after the replay.bat is replaying. But only the last set of values, i.e. "Driver Offsets" should be changed. This will allow for some adjustments. Keep in mind they won't do anything to Virtual Desktop unless you hit the orientation button (or F4 key). You can save the position again with the offsets being enabled by running save.bat but make sure replay.bat is still running when you do. After that you can disable the offsets, stop replay.bat and then run it again when you want |
Toasty833:
Great stuff. As of right now, the program kind of works for me. When I save coords, they replay as upside down and in the floor. But, I can mess with the values to potentially align the false values with the true world values through trial and error, and then it might work for calibration. Are you using a vive still? Maybe the offsets are different for Index and other lighthouse HMDs. Edit: Well, I was getting close, and then all the pose information just randomly changed on me, it was consistent for about half an hour. Where I was seeing the screen straight ahead became about 90 degrees to the right. Maybe it's some kind of issue with my setup. I'll mess with it more tomorrow. Edit 2: Tried restarting SteamVR, and it seems like the pose data is back to the initial set so I can keep working on my calibration. It might've changed slightly, I'll see if it stays consistent through resets and over play sessions. As long as it's the same on boot every time it should work fine though. |
Navigation |
Message Index |
Next page |
Previous page |