Search code examples
unity-game-enginevirtual-reality

How much efforts does it takes to let three monitors to replace VR headset program?


I have a unity project. It is developed for VR headset training usage. However, users have a strong dizzy feeling after playing the game. Now, I want to use 3 monitors to replace the VR headset so the users can look at the 3 monitors to drive. Is it a big effort to change the software code to achieve this? What can I do for the software so that it can be run in monitor?


Solution

  • Actually it is quite simple:

    See Unity Manual Multi-Display

    • In your Scene have 3 Camera objects and set their according Camera.targetDisplay via the Inspector (1-indexed).

    • To make them follow the vehicle correctly simply make them childs of the vehicle object then they are always rotated and moved along with it. Now position and rotate them according to your needs relative to the vehicle.

    • In PlayerSettingsXRSettings (at the bottom) disable the Virtual Reality Supported since you do not want any VR-HMD move the Camera but it's only controlled by the vehicle transform.

    • Then you also have to activate according Displays (0-indexes where 0 is the default monitor which is always enabled) in your case e.g.

      private void Start()
      {
          Display.displays[1].Activate();
          Display.displays[2].Activate();
      }
      

      I don't know how exactly the "second" or "third" connected Monitor is defined but I guess it should match with the monitor numbering in the system display settings.