* When the overlay is hidden because your head is too close to the sphere,
instead of coming back immediately, it waits until the avatar's velocity is near zero
for a period of time.
* Hooked up jump and fly to MyAvatar::hasDriveInput()
* Added an internal state machine to OverlayConductor to manage hiding/showing transitions.
* The overlay menu state is now tied directly to the overlay, so it will change state as the
overlay is dynamically hidden/shown from code.
* Removed slot going directly from MenuOption::Overlays directly to OverlayConductor::setEnable().
* the HUD will fade/in when driving, even in desktop mode.
* the HUD no longer pops when you lean outside of the UI sphere,
instead it should smoothly fade out and fade back in.
* the overlay toggle button should override fading while driving, as expected.
* removed any notion of SITTING, STANDING or FLAT mode from overlay.
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.
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.
* 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
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.