Skip to content
This repository has been archived by the owner on Jul 22, 2024. It is now read-only.

Add ability to reorient the UI while lying down #563

Merged
merged 2 commits into from
Sep 26, 2018
Merged

Conversation

MortimerGoro
Copy link
Contributor

Fixes #544

Copy link
Contributor

@bluemarvin bluemarvin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works well when looking up on Oculus and Daydream. I found two issues:

  1. Looking left or right on Wave seems to not work.
  2. Looking down doesn't seem to clamp like looking up does where the the UI is only reset past a certain pitch value.

Otherwise looks good. Might be hard to discover though.

@@ -54,6 +55,8 @@ class DeviceDelegate {
virtual void StartFrame() = 0;
virtual void BindEye(const device::Eye aWhich) = 0;
virtual void EndFrame(bool aDiscard = false) = 0;

static vrb::Matrix CalculateReorientationMatrix(const vrb::Matrix& aHeadTransform, const vrb::Vector& aHeightPosition);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this need to be public? If it does, I would think it should be just a util function and not part of DeviceDelegate?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I created a new DeviceUtils class in the latest PR.

@MortimerGoro
Copy link
Contributor Author

  • Updated the PR with bigger threshold for looking down.
  • Fixed the Wave left/right reorientation.

@avrignaud
Copy link

This makes me think we should get a process in place to collect release notes, and make sure we accidentally don't drop anything interesting/useful to announce. @MortimerGoro @bluemarvin do you know if there's a GH way to collect these (other than searching a huge number of closed bugs)? Or maybe we should just create a Gdoc for the next version and collect there?

@keianhzo
Copy link
Contributor

@avrignaud maybe a good place for that is: https://github.com/MozillaReality/FirefoxReality/releases

Copy link
Contributor

@keianhzo keianhzo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me

@bluemarvin
Copy link
Contributor

This makes me think we should get a process in place to collect release notes, and make sure we accidentally don't drop anything interesting/useful to announce. @MortimerGoro @bluemarvin do you know if there's a GH way to collect these (other than searching a huge number of closed bugs)? Or maybe we should just create a Gdoc for the next version and collect there?

Github has a compare feature:

1.0-rc1...master

That link shows all changes that have landed since the 1.0a release. Once we cut a 1.0.1 release:

[NOTE: This link won't work until we cut th 1.0.1 release]: 1.0a...1.0.1 will show all commits that have landed since 1.0a release.

@bluemarvin
Copy link
Contributor

bluemarvin commented Sep 24, 2018

I guess I'm confused what the desired behavior is for this feature. Should the window only be rotated about the x-axis or is rotation about z-axis also desired. I guess for laying on your side?

@bluemarvin
Copy link
Contributor

I wonder if there should be a setting to turn this off?

Copy link
Contributor

@cvan cvan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fantastic work! 👍 tested this, and this feels very great to me from a UX perspective. I can't r+ the code though, and need some clarification re: @bluemarvin's questions about the expected behaviour.

@cvan
Copy link
Contributor

cvan commented Sep 25, 2018

actually, after doing some further testing, I realised the orientation reset seems to be askew. try opening the keyboard, adjusting the orientation, and try typing. that's probably the most obvious STR I've found. but it definitely feels off.

@avrignaud
Copy link

@thenadj Think it might be good to get a design together for keyboard/screen positioning - something that gives the user explicit control, and that we can focus test in future to understand best default starting position.

@MortimerGoro
Copy link
Contributor Author

z-axis scale is for laying on your side. Oculus Go browser also allows it.

We could add a UI setting to enable/disable this. What do you think @avrignaud @thenadj ?

@cvan
Copy link
Contributor

cvan commented Sep 25, 2018

I would suggest the implementation be consistent with Oculus Browser's. I don't think it needs to be any more complicated than that.

@bluemarvin
Copy link
Contributor

This seems to work exactly like the oculus browser. Let's land and add any UI in a follow up.

@bluemarvin bluemarvin merged commit c58f854 into master Sep 26, 2018
@thenadj
Copy link

thenadj commented Sep 26, 2018

Design for this is on the to do list.

@bluemarvin bluemarvin deleted the lay_down branch September 27, 2018 00:31
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants