FOVE SUPPORT CENTER

Unity Plugin v3.0 - Flickering and/or Black Screen in Headset for scene containing UI Menu

Comments

9 comments

  • Avatar
    Jeff

    Hi Riz,

    Flickering is not expected. We'll be checking this out during the week and respond there.

    0
    Comment actions Permalink
  • Avatar
    Pierre

    Hi Riz,

    Thanks for the feedback.

    Could you tell what you are exactly using for your menu? That is, which component (Canvas or other?) and what type of rendering mode (world space, camera, overlay?). 

    Thanks

    0
    Comment actions Permalink
  • Avatar
    Riz

    Thanks Jeff.

    Hi Pierre,

    Scene 1: Flickering sometimes/sometimes rendering fine. But other issues (see below)

    Yeah, I am currently using a Canvas - rendered in World Space with the Event Camera set as "UI Camera" - a FoveInterface asset added to render only the UI components with culling mask set to "UI". There is another FoveInterface asset with culling mask "Mixed" i.e. everything except UI. Timewarp is disabled for both. The flickering happens in this scene. 

    Also a related issue is that, a sphere representing the eyegaze does not appear in front of the menu anymore. It only appears if I look outside the menu and always seems to be behind in terms of depth. I am not sure exactly how the Raycast works now in the new plugin. 

    Scene 2: Complete black color rendered on the Headset

    Here there is a quad. Only one camera - FoveInterface asset. Culling Mask set to "Everything". Now, I see complete darkness on the headset. Once this happens, even if i go back to Scene 1 and click on Play - even that turns out to be dark. 

    0
    Comment actions Permalink
  • Avatar
    Pierre

    Hi Riz,

    I tried to replicate your scene/UI configuration and load/unload some scenes, but I didn't manage to get a similar issue with latest Unity version. Could you tell me which version of the Unity you are using?

    A few hints that may help you:

    - check that your UI camera clear flag is set Depth Only or Don't Clear

    - check that you properly ordered your camera by giving them different depth value

    - you should be able to keep your eyegaze sphere on top of UI either by moving it into your UI objects (change the object layer) or by setting the clear flags of your UI camera to 'Don't clear' (in this case other element of your scene may also collide with your UI).

    - there is a known issue (see plugin guide) when the main scene doesn't have a skybox set in is lighting settings. Be sure that there is always ond set when you unload your scenes.

    If you can't solve the issues with those hints, could you provide us with a simple repro project?

    Thanks, Pierre.

    0
    Comment actions Permalink
  • Avatar
    Riz

    Hi Pierre,

    I am using Unity 2019.1.1f1. The Unity version that you recommend on the Developer page- Unity 5.5 - seems to have issues in opening the editor. I checked regarding this online and it seems that there are problems with this Unity version on some Nvidia graphic cards on Windows. 

    Coming back to the blur/black-color rendering issue, I managed to fix them except the "eyegaze on top of UI" problem . To solve so far, I deleted all the cameras in my scene. I then added 2 Fove Interface Prefabs:

    1. Fove Interface (placed under an Empty Object "FoveRoot" at the origin). But after the scene plays, the Prefab always changes its position to [0,-0.503,-6.4]. The "FoveRoot" will however still be at the origin after the scene is played. 
    • Clear Flags - Solid Color instead of Skybox
    • Culling Masks ticked - Default, TransparentFX, Ignore Ryacast, Water
    • Client uses - Only Gaze
    • Disable Timewarp Checked.  
    • Depth -> 0; FOV->80

           2. Another Fove Interface - renamed as UI Camera (also, placed under an empty object "UIRoot" at the origin). This one stays at the origin after playing unlike the previous fove interface prefab.

    • Clear Flags -  Depth only
    • Culling Masks ticked - UI only
    • Client uses - Only Gaze
    • Disable Timewarp Checked.  
    • Depth -> 1; FOV->80
    • The eyegaze sphere is placed under this UI Camera: Layer- set to default. If i change the layer to UI, then everything goes black once again as before. If set to default, then everything is fine, except that I can only see the eyegaze sphere outside the menu boundaries. 

    Previously, I had a Fove Rig + a FoveInterface script for the UI Camera (instead of the current 2 FoveInterface prefabs). But I noticed that the Fove Rig does not come with the FoveInterface script attached to it. Perhaps, that might have been the issue for the first blurring/black rendering issues. 

    Anyway, now the only issues are the Eyegaze sphere not appearing in front of the menu and a new message in the Unity Editor saying - "Display 1 No cameras rendering". 

    0
    Comment actions Permalink
  • Avatar
    Pierre

    Hello Riz, 

    Thank you for describing your configuration.

    I tried to reproduce it and reproduce the issue but I couldn't. 

    Here is link to my project to you try it on your PC and check if it works on your end too?

    https://drive.google.com/file/d/1RT9owkdWqB6ka9V73OLY2q9cPzRY_gNk/view?usp=sharing

    In this project the sphere eyegaze layer is UI and I don't experience any black screen and the sphere is properly rendered on top of UI.

    Thanks.

    Note 1: the "Display 1 No cameras rendering" message is "normal" it can safely be disabled by right clicking on the editor game tab and unchecking "warn if no camera is rendering". 
    Note 2: If you don't want your UI to always render on top of the scene you can just remove the UI fove interface and only keep one single camera that renders everything.

    0
    Comment actions Permalink
  • Avatar
    Riz

    Hello Pierre,

    Thank you for providing a sample project. The project ran fine in my computer. Although the gaze cursor was quite jittery and whenever it was stable, it did have an offset at times. This was despite calibrating. But, the Eyegaze sphere did appear in front of the menu - which is nice!

    It seems that the "only_quad_sphere" prefab which you included made the difference. I tried exporting this prefab as an asset package and then unpacked it in my scene. But, I am still not able to get the gazecursor in front of the menu in my scene. Perhaps, you could try and check whether everything is in order. 

    https://drive.google.com/file/d/12nDGNxbzDue-SgQsFkvtZocgYJXKeY-g/view?usp=sharing 

    Thank you very much!

    0
    Comment actions Permalink
  • Avatar
    Pierre

    Hello Riz,

    I checked your project, it looks like Unity didn't properly recursively change the UI layer of the GazeCursor object children. It was still set to "Default" which explains why it was not rendered by the UI camera. Setting the render layer of all the GazeCursor object to UI solved the issue.

    Best,

    Pierre.

    0
    Comment actions Permalink
  • Avatar
    Riz

    Sorry for the late reply. Works perfectly. Thanks!

    0
    Comment actions Permalink

Please sign in to leave a comment.