Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Join us on Thursday, June 8, for a Q&A with Unity's Content Pipeline group here on the forum, and on the Unity Discord, and discuss topics around Content Build, Import Workflows, Asset Database, and Addressables!
    Dismiss Notice

Question Difference between VR HMD View and Monitor Display View - Mirror View Mode causing issue?

Discussion in 'VR' started by n_saikiran, Oct 20, 2022.

  1. n_saikiran

    n_saikiran

    Joined:
    Sep 1, 2016
    Posts:
    14
    Hi, in my VR project, I have been experiencing this issue.
    I had made a gameobject as a child to the CameraEye gameobject.

    In the headset, the display view is as desired

    VR_HmdCamera_View.png


    But on the monitor, the display seems to be like mirror display of only right eye

    GameTab_HmdCamera_TargetEye_As_Both.png

    I am looking to achieve the same display on the Monitor as of the view in the headset.
    I had tried changing the "Mirror View Mode" in OpenVR settings of XR Plugin Management.
    It didn't work.

    When I set the "Target Eye" on CameraEye gameobject as "None(MainDisplay)", I am getting the desired view on Monitor but in the VR Headset, there is no display. So this option cannot be used.

    GameTab_HmdCamera_TargetEye_As_None(MainDisplay).png

    Am I missing anything here?
    Can you help me out here?

    Unity Version : 2020.3.31f1
    Experienced this issue in UnityEditor as well as Standalone build.
     
  2. Loup

    Loup

    Joined:
    Apr 4, 2013
    Posts:
    11
    Hi have you resolved this issue ? I'm experiencing the same problem
     
  3. kushalcs

    kushalcs

    Joined:
    Mar 28, 2023
    Posts:
    2
    The main difference between VR HMD (Head-Mounted Display) view and monitor display view is the level of immersion and interactivity. VR HMD provides a fully immersive experience, allowing the user to interact with a virtual environment in a way that feels almost like real life. In contrast, monitor display view provides a more traditional, 2D display of the virtual environment.

    As for the mirror view mode causing issues, it's possible that it could be causing some discomfort or motion sickness for some users. This is because the mirror view mode displays a flipped version of the VR HMD view on the monitor, which can be disorienting for some users. It's important to note that not all users will experience this issue, and it may depend on factors such as the user's individual tolerance for VR, the quality of the VR hardware and software, and the duration of the VR experience.

    To avoid issues with mirror view mode, some VR developers recommend disabling the mirror view or using a different display mode when possible. It's also important to provide users with clear instructions and warnings about the potential for motion sickness or discomfort, and to allow them to take breaks as needed. Overall, it's important to consider the individual needs and preferences of users when designing VR experiences and to prioritize user comfort and safety.
     
  4. Loup

    Loup

    Joined:
    Apr 4, 2013
    Posts:
    11
    Hi thanks for your answer, but in my case I would like to have a full squared view of what's being seen in the HMD while the user is interacting in VR (for a demo that needs an external display and virtual reality rendering).
    Do you know which parameter could allow this ?
    Thanks for your help
     
  5. thep3000

    thep3000

    Unity Technologies

    Joined:
    Aug 9, 2013
    Posts:
    383
    In order to avoid rendering the scene a third time, we blit one of the already rendered eye textures to the monitor. You can modify this behavior with https://docs.unity3d.com/ScriptReference/XR.XRSettings-gameViewRenderMode.html

    One eye does not encompass the full FOV, if you want that you'll have to re-render the whole scene with a wider FOV which will be more expensive. You can do this by setting the gameViewRenderMode to none and then adding another camera to your scene that targets the main display and tweak the FOV as necessary. (note that this might not work with URP, you may need to do some pipeline modifications there).