Skip to content
This repository has been archived by the owner on Nov 8, 2019. It is now read-only.

0.85 - UI layer settings are gone? - how to hide gear icon / alignment marker #266

Closed
noemis84 opened this issue Jul 14, 2016 · 24 comments
Closed

Comments

@noemis84
Copy link

noemis84 commented Jul 14, 2016

  1. In 0.85 there seem to be no ui layer settings in GvrViewer... but why? And how can I disable gear icon and alignment marker now...

ui_layer_settings

  1. Another strange thing is: AddStereoControllerToCameras() on same script at Start(). Why? When using the GvrMain prefab and instance it when I need it... it first makes my orthographic UICam to a stereo cam... completly sensless for me.
  2. is NFC permission in the manifest for android important, or can remove it?
@noemis84 noemis84 changed the title UI layer settings are gone? - how to hide gear icon / alignment marker 0.85 - UI layer settings are gone? - how to hide gear icon / alignment marker Jul 14, 2016
@noemis84
Copy link
Author

The answer to my question 3 seems to be: Yes. It's important. Removing NFC permission from manifest causes a crash on my S6 when going to home screen during runtime...

@arturleao
Copy link

This is now done in the GvrPostRender.cs in the DrawUILayer. Its not exposed in the GvrViewer anymore like you mentioned and the method for drawing it, just assumes a bunch of stuff, should be easy to fix.

Here's whats currently happening:
private void DrawUILayer() {
bool vrMode = GvrViewer.Instance.VRModeEnabled;
if (Application.isEditor) {
ComputeUIMatrix();
}
uiMaterial.SetPass(0);
DrawSettingsButton();
DrawAlignmentMarker();
if (vrMode) {
DrawVRBackButton();
}
}

@noemis84
Copy link
Author

noemis84 commented Jul 14, 2016

@arturleao thank you for your answer, but sadly it's not that simple... I already tried it and a minute ago again to make sure we talk about the same. The UI is gone in editor, but not on android. The reason is probably in OnRenderObject():

if (!GvrViewer.Instance.NativeUILayerSupported) { DrawUILayer(); }

It seems, that DrawUILayer() is only called for devices/platforms(?), which have no NativeUILayerSupport... but obviously my S6 (and I asume many more or even all) still show the UI...

@arturleao
Copy link

Yes, you are right, I was messing with the code and couldn't properly show/hide stuff, looks that the changes go deeper than this.

@miraleung
Copy link
Contributor

Thanks for the feedback! Responses below:

UILayer settings. Our latest Java SDK ensures that those three UI elements will always be drawn in stereo mode. However, we'd love to understand your use case, and it would be great if you could elaborate.

AddStereoControllerToCameras() on Start(). Dual cameras will no longer be needed in the upcoming native Unity integration. In that version, we will still get both eyes rendered from a single camera when compiling with VR support. One of our goals with the 0.8.5 SDK is to gradually migrate the API surface towards the native integration SDK. GvrMain is among the prefabs that will no longer be needed in that future SDK, so we're deprecating it to begin with.

Hope this helps!

@ezonecom
Copy link

Having a single camera sounds great. However, will it still be possible to target separate left and right eyes, for example to render a stereo cubemap video?

Simon Edis

On 15 Jul 2016, at 6:54 AM, Mira Leung notifications@github.com wrote:

Thanks for the feedback! Responses below:

UILayer settings. Our latest Java SDK ensures that those three UI elements will always be drawn in stereo mode. However, we'd love to understand your use case, and it would be great if you could elaborate.

AddStereoControllerToCameras() on Start(). Dual cameras will no longer be needed in the upcoming native Unity integration. In that version, we will still get both eyes rendered from a single camera when compiling with VR support. One of our goals with the 0.8.5 SDK is to gradually migrate the API surface towards the native integration SDK. GvrMain is among the prefabs that will no longer be needed in that future SDK, so we're deprecating it to begin with.

Hope this helps!


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub #266 (comment), or mute the thread https://github.com/notifications/unsubscribe-auth/AGyAl_GBnEkrtbUzozW4A1WReQfw0gIqks5qVr4ugaJpZM4JMLwZ.

@noemis84
Copy link
Author

thank you @miraleung for your response. first I thing it's never a good idea not to let the developer decide if he needs such overlays or not, not even in a hidden option. our use case: we want to upgrade the settings behind the gear button... not just the cardboard settings dialog, but also give more options: distortion on/off (for performance reasons) and also enable or disable vr mode, because we also have a 360 single cam option to share experience or just make screenshots. see an example from us here: OpenMovieVR which is a remake from a well downloaded/liked older version: OpenMovieVR_OLD.

Also the alignment marker is not our favorite... just too bright (in some cardboards/devices annoying visible) and not fundamental necessary, because the alignment works well with gear button itself.

what @ezonecom said is also important for us. the option I used before is to set Toggle Culling Mask on the left/right cam in the prefab... I think in the future we have to set them via code after they are automatically created?

@MiCkSoftware
Copy link

+1 for UI overlay. If it becomes mandatory it should use a way darker color.

+1 for 3d switch but it seems we will have to deploy 2 builds... 😐

Cheers!

Le ven. 15 juil. 2016 10:28, noemis84 notifications@github.com a écrit :

thank you @miraleung https://github.com/miraleung for your response.
first I thing it's never a good idea not to let the developer decide if he
needs such overlays or not, not even in a hidden option. our use case: we
want to upgrade the settings behind the gear button... not just the
cardboard settings dialog, but also give more options: distortion on/off
(for performance reasons) and also enable or disable vr mode, because we
also have a 360 single cam option to share experience or just make
screenshots. see an example from us here: OpenMovieVR
https://goo.gl/uecxrb which is a remake from a well downloaded/liked
older version: OpenMovieVR_OLD https://goo.gl/cgsx5A.

Also the alignment marker is not our favorite... just too bright (in some
cardboards/devices annoying visible) and not fundamental necessary, because
the alignment works well with gear button itself.

what @ezonecom https://github.com/ezonecom said is also important for
us. the option I used before is to set Toggle Culling Mask on the
left/right cam in the prefab... I think in the future we have to set them
via code after they are automatically created?


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#266 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMIc3Mr6T1ulhSn2SJKZMN2qLnJP04SDks5qV0TDgaJpZM4JMLwZ
.

@miraleung
Copy link
Contributor

Thank you very much for your feedback!

UI overlay. We made this mandatory because we've seen too many people unable to perform basic functions like alignment, pairing, and exiting VR. The darker color is a great point, and we may look into this more.

Distortion. Turning off distortion makes for a suboptimal experience, so we intentionally don't support it as a pattern. Please consider implementing VS distortion, which is very fast and can work on hardware back to an S3.

Targeting left and right eyes. Please see this post on how it can be done in the native integration.

3D toggling. This can be done in the app - the TreasureHunt example shows one way of doing it. We can also toggle between 2D and 3D activities by importing a Unity project into Android Studio and making the switch programatically.

Hope this answers your questions. Please feel free to make separate posts per issue moving forward, and again, we really value your feedback. :)

@MiCkSoftware
Copy link

Thanks for your feedback too!
I'll be glad if the overlay is darker so that it doesn't reflect on lenses
during dark scenes.

I am aware about the switch. I already implemented it in my game but I feel
like it won't be possible anymore with the release of native unity support.
Am I wrong?

Cheers!
Mick.

Le lun. 18 juil. 2016 19:57, Mira Leung notifications@github.com a écrit :

Thank you very much for your feedback!

UI overlay. We made this mandatory because we've seen too many people
unable to perform basic functions like alignment, pairing, and exiting VR.
The darker color is a great point, and we may look into this more.

Distortion. Turning off distortion makes for a suboptimal experience,
so we intentionally don't support it as a pattern. Please consider
implementing VS distortion, which is very fast and can work on hardware
back to an S3.

Targeting left and right eyes. Please see this post
#263 on how it can be
done in the native integration.

3D toggling. This can be done in the app - the TreasureHunt example
shows one way of doing it. We can also toggle between 2D and 3D activities
by importing a Unity project into Android Studio and making the switch
programatically.

Hope this answers your questions. Please feel free to make separate posts
per issue moving forward, and again, we really value your feedback. :)


You are receiving this because you commented.

Reply to this email directly, view it on GitHub
#266 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMIc3IgFGEhRUnOCd8s4vRMtpOCutP6vks5qW751gaJpZM4JMLwZ
.

@miraleung
Copy link
Contributor

No worries, the switch will still be possible in the native integration. :)

@noemis84
Copy link
Author

UI overlay. Making visible elements in a SDK mandatory is in my eyes not good. I create cardboard apps over one year now... at the end, I never had the alignment marker and no user ever complained about it.

Distortion. Can you please specify "VS distortion". I never heard of it.

Thank you for the hint for Targeting left and right eyes and 3D toggling. I'll look at it, when I give >=0.85 a try. For now I'm back to good old 0.8 ;)

@smdol
Copy link
Contributor

smdol commented Jul 20, 2016

The UI layer is effectively migrating out of the SDK into the core VR support of Android N. The approach is now to consider it part of the system UI, similar to the status bar and nav bar. Thus apps have less ability to control its specific appearance, other than hiding/showing it as a whole. Darkening the vertical bar (or something like that) is being looked at actively.

VS distortion is discussed here: http://www.gamasutra.com/blogs/BrianKehrer/20160125/264161/VR_Distortion_Correction_using_Vertex_Displacement.php
Brian also gave a talk at I/O this year about it but I don't have the YouTube link handy. It's used in Cardboard Design Lab and the Cardboard app's arctic-themed welcome scene.

@noemis84
Copy link
Author

thank you @smdol for the link about VS distortion... sounds interesting.

"3D toggling. This can be done in the app" - the TreasureHunt example"... what and where is it... in my sdk there is non such example.

I tried "Expeditions" - first of all, it's not really working on S6 and S7 which is unbelievable... really? These most selled high end phones are not being tested?

But asuming it uses newest SDK and we can take it as example. There I can see the fullscreen switch...
screenshot_20160721-120831

And I also can see it in VR in bottom right corner of right eye. Hey! Pressing it enables the one eye mode with a jerky gyro + touch overlay (where you can also change horizon), which makes it in my eyes unusable.

I just dont't understand how can someone decide making things mandatory before it's usable... sorry! I'm very disapointed about constantly changing things which worked before.

I had my own gear icon, with a menue, which gives the user really OPTIONS.

screenshot_20160721-121121

You show some standard profils... ok, cool, this feature I was asking months ago ;( - but if you really want to make this gear icon settings menu a value, than PLEASE...

  • integrate this VR switch
  • using gyro as option
  • touchmode

screenshot_20160721-120840

I really don't get it, why I have to write all these things... just let developer their options.

@arturleao
Copy link

I have a simple question, on iOS, in 360 mode, how do I get back? I cant show the back button and iOS does not have a back button embeded in the system like Android.

@youlweb
Copy link

youlweb commented Aug 21, 2016

+100% on getting back the ability to toggle the vertical bar+gear icon.
In the app I'm building, I chose to display these options on the home screen only, then hide them during gameplay, which prevents annoying reflections in the lenses.
The risk that the toggling feature is even noticed by cardboard developers is minimal, considering the horrendous quality of most cardboard apps. They are less than optimized, to say the least.
However, for the few mindful and/or corporate developers out there, this option adds a much needed uptick in overall user experience quality, which is much needed in this fragile ecosystem.

@nathanmartz
Copy link

Hi, youlweb. Thanks for the feedback. Although we don't plan to make the core UX optional, we do want to solve the problems you were having. Regarding reflections from the divider and the gear, we're looking at a design update that should help a lot. I'm curious, what viewer were you using that had the most trouble with the divider?

Hiding some items once the user has been in VR for a while is also an interesting idea, esp for the divider. It's something we'll discuss more internally.

Please continue to highlight issues that you run into. We can't guarantee that we'll always make the exact changes you ask for, but understanding the challenges and asks from real world devs is super important to us.

@youlweb
Copy link

youlweb commented Aug 28, 2016

Hi Nathan, I'm using the Blitzwolf viewer. The lenses are surprisingly good, and will catch reflections whenever the app background is dark/black.
I must add that by far the most disrupting part of the UI is the back arrow in the top left corner, because it is drawn on useful screen estate, unlike the divider/gear sprites, that may be partly hidden by the viewer's eye divider (although it may cause reflections). Additionally, the back arrow is rendered on the left eye screen only, causing an unpleasant non-3D perception of that part of the scene.
I'm glad that various solutions are being explored to improve the user experience with GVR/Cardboard, an otherwise affordable and exciting VR landscape, which could gain mass adoption with the right level of quality built in its applications/games. I have reached 60+ FPS on a Galaxy S4 in the game I'm building, with engaging graphics, which now delivers a similar feeling as some of the more expensive experiences such as PSVR, on hardware that's already in the pocket of most consumers.
Thank you for your quick response, and encouraging words.

@justinISOFORM
Copy link

justinISOFORM commented Aug 29, 2016

I have a client that is specifically asking for the back arrow to be removed from their app. Removing the option for developers does not seem like a good idea. Please put it back.

@CenekStrichel
Copy link

Is there any solution? I have exactly same problem as justinISOFORM, my client want to remove back button. Any hack how can I do it?

@Rubinhuang9239
Copy link

Rubinhuang9239 commented Feb 8, 2017

Making gear and back button mandatory is a really bad idea, almost I ever see... it conflict with my UI and it just looks terrible.
Dose anyone how can i remove them anyway???

@devotionsolutions
Copy link

+1 on having the option to remove the back button.

@prasetion
Copy link

hey, actually agree with @noemis84. Because in our previous app, we remove that UI.

I want to ask, my question:
i use unity 5.6 and gvr-unity-sdk 1.4.0, i have checked vr supported in player setting, and chose Cardboard SDK. i use vrsetting.enable = false in first scene ( in void Awake), but the UI that we talking about is called and showing at the first, when i try on my phone, so how to hide it at the first? is it an issue? or i miss something to check? thank you

@miraleung
Copy link
Contributor

The first VR SDK in the list in Player Settings is loaded, so putting "None" before Cardboard should do it. There are further examples of how to switch between VR devices in Assets/GoogleVR/Demos/Scripts/DemoInputManager.cs

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

14 participants