Commit Graph
21 Commits
Author SHA1 Message Date
ykearaandVasily a803ffaeac Center Marker/ Chaperone Refactor/ IVROverlay/IVRSettings wrappers PT 1/? (#438)
* changed click noises to internal sounds

* udpated to ovr 1.11.11

* in prog added prototypes

* began wrapper for IVRSettings

* added getters for chaperone colors

* added setters for chaperone color

* fixed type conversion issue

* fixed linking issue, added additional settings chaperone page

* adjusted chaperone page qml

* added color chaperone UI

* refactor in prog

* updated ivrsettings wrapper, refactor in prog

* refactor in prog

* collision bound style add

* refactor

* cleaned up error logging

* fixed fade distance remember bug

* fixed sounds

* fixed brightness opacity bug setting to 0 when 0

* fixed sounds

* added wrapper for removing keys

* refactored reset

* added chaperone Styles to UI

* added chaperone floor always on

* fixed copy/paste error

* adjsuted ui chaperone color slider

* started adding chaperone floor marker

* fixeed naming error overlay

* finalized chaperone Ideas, added chaperone markers

* began ivroverlay wrapper

* center marker fully implemented

* added function prototypes for new settings

* added setting, and updated ui for New Center Marker Overlay

* adjsuted sound effect volume and formatting for chaperonecolorbox

* adjusted volume back

* fixed various issues aroudn new overlay

* removed artifact comment

* cleaned up settings wrapper

* cleaned up chaperone tab controller for namespace changes

* removed ide comment issue

* cleanup overlay wrapper

* cleaned up tab/space changed file name

* renamed files

* fixed include statements

* updated namespace in chaperonetabcontroller

* fixed tab/space issues

* re-activated boundbasisheight

* fixed bulgarian case

* changed chaperone warnings to only work in roomscale

* fix capitilization

* fixed tracking universe update

* direct text input change for brightness

* qml fixes

* fixed qml format issues

* fixed sound issue w/ sliders

* fixed super truely

* Add SDL libraries to CircleCI

* Remove -tidy from circleCI config

* flushed out error messages in overlaywrapper

* removed hungarian notation

* added get/set string to ovrsettings wrapper

* misc cleanup

* add reset orientation btn and new center marker to chaperone

* ui adjustments

* changed alarm audio

* adjusted sound effect volume slightly lower

* updated for 5.1.0 release

Co-authored-by: Vasily <vautkin@teknik.io>
2020-05-13 15:11:20 -05:00
1ae740463c Implement Auto-turn and Redirected Walking
Initial implementation of Auto-Turn

Auto-turn leverages Space Turn automatically whenever you reach a configured distance from your chaperone boundary. Turn direction is in order of precedence:

1. Away from a corner where you're already touching one wall. This is to avoid being turned to face a wall, which we pretty much never want. If 'use corner angle' is enabled, it'll turn the angle of the corner, otherwise it'll turn the angle of your headset to the wall you encountered.
2. In whichever direction will start you unwinding your cord. If your rotations is greater than 'cord detangling rotations' and your angle to the wall is less than 'min detangling angle' it'll turn you such that the thing you're walking towards is directly along a wall, in the direction which will begin unwinding your cord.
3. In the closest angle to the wall. This too will put whatever you're walking towards directly along a wall, so you can walk the maximum distance to it. 
- If Smooth turn is checked, it'll turn at a constant (configurable) rate until the world is aligned with the new angle, otherwise it'll snap to the new direction instantly. 
- Activation distance is the distance from your chaperone at which auto-turn starts, and deactivation distance is the minimum distance (+ the activation distance) at which it'll be able to be activated again, to avoid turning twice at once.


Redirected walking tries to gently guide you away from your playspace boundaries by tweaking the world's angle at smaller increments than your brain is capable of noticing. While most playspaces won't be big enough to allow this to give you a true 'infinite walk' experience, it can give the perception of your playspace being ever so slightly bigger by making you walk in a slight arc in real life while walking forward in VR.
- Redirected walking is independent from Auto-turn and can be activated on its own. At both the 'slight' and 'imperceptable' radii, the turning speed is incredibly minimal. When walking along one wall of your chaperone to another, you should notice the far corner of your playspace (relative to the world) drifting ever so slightly away from you. In normal circumstances at the lowest settings this shouldn't be noticable. 


Co-authored-by: feilen <feilen1000@gmail.com>

* Initial implementation of Infinite Walk

* Code cleanup and abstraction, use nearest corner instead of nearest wall to determine turn direction

* Run clang-format

* Turn relative to the last wall if we run into adjacent walls, otherwise turn at easiest angle

* Limit maximum turns (just refuse to turn for now), only turn on shared corners if going the same direction

* Improve same-corner

* get rid of LastDirectionLeft

* WIP: cord untangling hint

* Try to automatically untangle cord, don't rotate if we encounter a wall behind us

* Incorrect offset for walls

* optimize if hmd inactive

* Cleanup/clarify angles

* (probably?) solve rare segfault

* Adjust the defaults and fix a bug with blocking reverse turns

* Implement smooth turn, fix a bug with shared-corners that would cause it to turn the wrong way

* actually really fix shared corner bug

vect[i + 1 % vect.size()] was somehow evaluating to vect[i + (1 %
vect.size())]

* Move configurables for autoturn to .h to make clearer what's configurable

* WIP: true redirected walking

* First pass optimization/cleanup

* Second pass cleanup/optimize

* Missing clang-format

* Somewhat ugly: Optionally turn the exact angle of the corner when using shared corner turns

* added rotation tab controller in progress

* cleaned up chaperone controller/ finished settings/rotationtab

* did first 4 settings qml, and main qml setup

* initial working build, not all settings UI done

* merging master into redirected walking. (#387)

* Update OVR to 1.10.30 (#379)

* updated to ovr 1.10.30

* fixed updated showoverlaykeyboard call

* fixed keyboard location

* Updated Manifest (#380)

* updated to ovr 1.10.30

* fixed updated showoverlaykeyboard call

* fixed keyboard location

* removed un-necessary matrix, updated app key and manifest

* fixed formatting

* Fix push to mute icon not being used when PTM enabled

* added touch default bindings (#385)

travis CI down/broken?

Co-authored-by: Vasily <vautkin@teknik.io>

* added action, and additional settings

* fixed various bugs added turn speed and mode

* fixed conversion error for turn speed

* added redirected walking options

* formatting

* formatting fixing

* removed old comments

* changed logs to debug and some wording changes

* changed UI layout

* added space turn to rotation page

* added icon, fixed autoturn to autoTurn, fixed conversion to be in qml vs set

* Update src/res/qml/RootPage.qml

yep XD

Co-Authored-By: Kung-vr <38249782+Kung-vr@users.noreply.github.com>

* reverted build changes

* removed un-needed app image build commands

* Cleanup some functions, avoid an extra chaperone check.

* Make redirected walking and autoturn independently enable-able

Co-authored-by: Feilen <feilen1000@gmail.com>
Co-authored-by: Vasily <vautkin@teknik.io>
Co-authored-by: Kung-vr <38249782+Kung-vr@users.noreply.github.com>
2020-04-08 18:57:53 -07:00
Vasily 0bc77b2fd0 Completely remove features related to Desktop Overlay
As of SteamVR 1.10.1 the overlay width feature has been implemented by
Valve in the standard settings.
OpenVR features related to overlay translation have been removed and the
main reason for including them (multi monitor setups) have been solved
by Valve giving each screen an individual overlay.
2020-01-16 00:09:09 +01:00
Vasily c8a0e41bfe Remove features related to desktop overlay translation
The feature was killed by Valve and is not likely to come back.
2019-12-10 08:28:41 +01:00
Vasily 724bc51a15 Fix indentation in resources.pri 2019-12-10 08:28:41 +01:00
ykeara 2bddedf372 4.0.0 release (desktop overlay adjustment removal, bindings tab/button change, documentation update) (#315)
* removed desktop overlay tab moved width to steamvrtab

* added binding page launch button

* changed binding page button location

* removed binding page and associated resources

* clarified functionality via text update to desktop width box

* updated version string

* changed string to release

* updated photos

* updated ivrscreenshot

* updated documentation

* removed old qml references

* added missing actions to documentation

* hid audio profiles
2019-11-10 10:31:43 -06:00
ykeara 05c12cd4a0 Re-Add color overlay (#311)
* fixed Chaperone toggle, toggle state on launch

* made update rates based on variable frame rate assuming 90 default

* added overlay color back in

* fixed opacity value not synching

* updated to ovr 1.8.19

* fixed license issue

* rolled back ovr update

* fixed overlay toggle state, formatting, and clamped max opacity to .85%
2019-11-08 14:45:26 -06:00
Kung-vr d0c2520b64 Add bindings page and apply autosave chaperone on offset clamp 2019-10-27 00:39:01 +09:00
ykeara 4b0be27ff6 Video and Steam VR Tab Re-work + keyboard binds (#289)
* changed color overlay to use gain values instead of overlay

* moved SS/Motion smoothing, and filter to video tab

* began refactor of steamVR qml page

* added misc toggles to steamvr tab

* added imu fallback and DND, and some qml formatting

* added Camera Settings to SteamVR page

* changed formatting to minimize height

* added video profiles cleaned up steamvr controller

* delta comparison change

* added profiles for video

* fixed display bug in colorgroupbox and removed frivoulous saves

* removed commented code

* added custom keybind buttons
2019-09-01 02:35:00 -05:00
ykeara 746aa23207 Ssbugs, removal of re-vive, and dashboard loop tick (#277)
* minor changes

* debugging testing

* removed un-needed log calls

* moved some logic to run only when dashboard is active

* fixed linker error

* added casting

* removed revive tab

* removed stray revive reference

* removed revive from sources

* fixed misc formatting issues

* added newline
2019-08-22 13:40:48 -05:00
ykeara b473f4d7db Prox sensor re-integration (#220)
* added arbitrary orientation change

* removed commented code

* updated to OVR 1.4.18

* changed two instances using new to init via array

* moved prox sensor action to haptic instead of Misc

* fixed json file, added prox sensor back for mic mute/un-mute

* added proximity sensor to audio and haptic chaperone warnings

* fixed fall-through behavior

* removed bad prox code
2019-06-14 12:33:56 -05:00
ykeara 263759a0df Color overlay adjustment feature (#208)
* perf graph overlay/checkbox added

* added toggle Chaperone action

* toggle chaperone non-functional

* fixed chaperone toggle action const to once

* Added Proximity Sensor Action back-end, not implemented via logic Until fixed by valve

* added default WMR controller profile

* formated

* formated steamvrtabcontroller.h

* fixed un-intended change

* fixed audio profile Bug w/ changed devices

* fixed name being used as param instead of ID

* fixed loop logic in saveAudioProfile

* audio profile fix WIP defaults OVR integration

* fixed profile Saves, delete logic and mirror logic needed

* fixed QML format, added TODO message

* Fixed Audio Profile Behavior

* fixed qml reference error

* audiodeviceselector changed qml

* Removed some comments

* changed Visibility slider Minimum to 30% (steamVR minimum allowed)

* fixed mirror/playback same issue

* fixed Audio device refresh bug, removed currently un-used proximity logic (commented out)

* removed dead code

* fixed Manifest install/un-install behavior

* removed un-used param

* color overlay in prog

* video overlay basic functions added

* fixed qml errors

* fixed init order error and chaperone min init error

* fixed duplicate button id issue, init issue

* fixed log call w/ manifest

* removed commented log lines
2019-06-01 11:02:55 -05:00
Vasily bb1d3e16fb Convert executable icon to new method
Manually creating an RC file was the Qt 4 way. The Qt 5 way is just
giving it an icon.

When an RC_FILE isn't manually created Qt will attempt to create one. If
there are non-integers in the version number the compilation will crash.

AdvancedSettings_resource.rc is a build artifact on Windows.
2019-04-19 22:30:04 +02:00
ykeara 9de14e20cb merged master to brightness 2019-04-12 18:25:14 -05:00
ykeara c7483861bc updated qml names 2019-04-03 21:02:25 -05:00
ykeara a382137ef4 qml add 2019-04-03 20:50:08 -05:00
Vasily 760d262a57 Add page to change desktop overlay translation
The implementation is simple 3D vector scaling and addition. The
HmdMatrix34_t consists of a 3x3 rotation matrix and a 3D vector for
position.

The overlay position is only updated whenever a new overlay is changed
because we need the old overlay position in order to modify it. The
openvr call to get the position is only updated whenever you open the
menu.

A new page was created due to lack of space on the utilities page.
2019-03-31 22:31:26 +02:00
Kung-vr 925d67cf38 Implement gravity options and ui (#117) 2019-03-17 19:29:10 -05:00
Vasily e4f2b5369a Change windows executable icon 2019-03-11 20:42:49 +01:00
Kung-vr 0f2f956b2e Manual Merge Cleanup 2019-03-03 01:02:53 +09:00
Vasily ab25124d7b Move source files and resources file into separate .pri files 2019-02-21 18:48:53 +01:00