Hotrian / OpenVRDesktopDisplayPortal

Put your favorite Desktop Window directly into any OpenVR game!
Other
447 stars 97 forks source link

Add support for Controller<->Overlay Interaction #18

Closed Hotrian closed 7 years ago

Hotrian commented 7 years ago

Working on this in my local source. There are a few different ways to implement this, so I'm trying to figure out which one is the most reliable before I push anything to the repo.

Hotrian commented 7 years ago

Changes that allow clicking on the target application were pushed in c5fe72f, and again in 592aa9a. Still need to add moving/rotating/resizing the window from VR as well as special VR UI controls the make the VR experience even nicer, but as of the latest pushes it is now possible to click on the window. Still planning to add moving/rotating/resizing before the next release.

Hotrian commented 7 years ago

Moving and rotating are now possible with 729db30588786f5a48be1b5e8520488c3e4d79ba and 9f23051b1f3d7d0516546d5b6985b09849fa48cc, rotation is a bit bugged out but still works acceptably for getting the overlay where you want it :).

Hotrian commented 7 years ago

Scaling the Overlay was also added in bf2100dafec42748f20787b3d9ac2fc3e22b2250 and fixed in 413a4a6e7847366c126f3dced29d485d25974a37 and f076ce055cd1f4f3b5744d64c2378ba9aabc8deb. I will be closing this issue with the next commit that triggers a release.

Hotrian commented 7 years ago

Also to clarify my previous comment, Rotating is bugged in that the rotation matches the rotation of your controller, instead of pivoting with it. It still works perfect for getting your overlay where you want it, but seems a tad weird because it feels like it's not "connected" to the end of your controller, it just moves and rotates with it.

Hotrian commented 7 years ago

Closing with the release of v1.0.5. Doing final testing now. It is currently possible to move/rotate/scale World overlays, as well as click on World or Controller Overlays. It is possible to send Single, Double, and Right clicks to the target application.