Commit graph

20 commits

Author SHA1 Message Date
Anthony J. Thibault
5ef6847dc3 HMD re-centering while driving improvements.
Previously the HUD fading in/out would also recenter the hmd sensor and the avatar, which caused many problems including:
  * The user's view could shift vertically.
  * Your avatar would briefly go into t-pose
  * other users would see your avatar go into t-pose.

Now we now move the UI sphere instead, which results in a much smoother experience.

MyAvatar: added hasDriveInput method.

OverlayConductor:
* removed avatar and sensor reset, instead the overlay's modelTransform is changed.
* revived STANDING mode, which is active if myAvatar->getClearOverlayWhenDriving() is true and you are wearing an HMD.
* SITTING & FLAT mode should be unchanged.
* Instead of using avatar velocity to fade out/fade in the hud, We use the presense or absanse of avatar drive input.
* Additionally, we check distance to the UI sphere, and quickly recenter the hud if the users head is too close to the actual hud sphere.

CompositorHelper:
* Bug fixes for ray picks not using the modelTransform.

HmdDisplayPlugin:
* Bug fixes for rendering not using the modelTransform.
2016-06-08 18:36:36 -07:00
Brad Davis
8c13ff4ee1 Pinned UI support 2016-06-02 17:24:25 -07:00
howard-stearns
dc7d6d470d Don't reset head when we come back. 2016-05-25 12:21:50 -07:00
howard-stearns
8198a1b4d1 Add preference to control behavior. 2016-05-25 11:30:45 -07:00
howard-stearns
9a428947e4 Simplify code. 2016-05-20 16:50:17 -07:00
howard-stearns
6568c0563d Delay on entry/exit. 2016-05-20 16:43:55 -07:00
Anthony J. Thibault
7f131e2c4f Reset avatar as well as displayPlugin when "driving" 2016-05-19 15:00:08 -07:00
howard-stearns
654ed33dd4 Fix warnings. 2016-05-13 15:32:59 -07:00
howard-stearns
1f664671f9 Remove overlay when velocity first indicates travel, and restore it (with
reset) when returning to reset.
2016-05-13 14:32:54 -07:00
Brad Davis
28103cf5ef Migrate composition of the overlay and pointer to the present thread 2016-03-07 17:14:41 -08:00
Brad Hefta-Gaub
bf0fb7258a CR feedback 2016-02-25 22:01:10 -08:00
Brad Hefta-Gaub
e58081ca9c remove extra debug code 2016-02-25 16:23:12 -08:00
Brad Hefta-Gaub
366aa39be8 handle startup overlay visibility correctly 2016-02-25 14:46:08 -08:00
Brad Hefta-Gaub
526f9dc248 check/uncheck the overlays menu when you toggle the overlays via some other mechanism 2016-02-25 08:41:38 -08:00
Atlante45
f55f146d1b More code cleanup 2015-10-06 13:56:22 -07:00
Anthony J. Thibault
402573dbf1 Remove unused local 2015-09-25 14:11:33 -07:00
Anthony J. Thibault
20d784ba39 Threshold based walking while in HMD.
This is a blend of the previous 'sitting' and 'standing' HMD modes.
Basically, when you move your head within a small range (20cm) your
avatar will lean appropriately, however when you cross that threshold
your body will move underneath you, re-centering your head above the body.

While this occurs the avatar should play the appropriate walking animations.
2015-09-24 17:54:32 -07:00
Anthony J. Thibault
c602346cad Update ApplicationCompositor to use QPropertyAnimation for alpha fades 2015-07-24 11:14:09 -07:00
Anthony J. Thibault
87a0e48d30 Updates to overlay fade
* vive rendering works again
* overlay fades away in standing mode, if you look or move away from the overlay sphere.
* middle mouse button can be used to fade in or out the overlay
* mouse pointer renders properly on overlay
2015-07-23 20:36:58 -07:00
Anthony J. Thibault
1d93abf90c Overlay can be shown and hidden and has better behavior in Standing HMD Mode.
Added OverlayConductor class that "orchestrates" Overlays, ApplicationCompositor & AppliationOverlay instances
so that the overlay can be smoothly animated on and off, mouse/key events are blocked when overlay is disabled.
2015-07-23 17:17:03 -07:00