Three Screens = Three Cameras?

Three Screens = Three Cameras?

I have three screens which are at an angle to each other. Basically, the left and right cameras need to move relative to the main camera in such a way that it would look like each screen is a window the player is looking out of (like the cockpit of an airplane).
How can I achieve this effect?


Answer 1:

Yes, you can implement this with three cameras. There’s a few ways to approach this, and none of them are built in easy to use solutions from Unity.

  • Create one large borderless window that spans multiple screens (for example you can use the command line argument -popupwindow). You’d then set up each camera to take up the portion of the window that is visible on each screen. Sort of like chopping up the window based on the monitors.
  • Spawn child processes that connect to the “main” game process and are just there to display an additional view. These could talk to the main program through a named pipe or some other inter-process communication.

The details of implementing these can get complicated, so it’s too much to go into here. However, know that this is entirely possible and you have options.

Answer 2:

Unless you have the screens at angles greater than roughly 45 degrees, you should be able to create a viewport that covers the three screens, and have it look realistic. Instead of having a 1600×900 viewport, you would have a 4800×900 viewport. I would not recommend having three separate cameras. If the displays render slightly out of sync, it can disorient the player.

Technology wise, have a look at the Matrox TripleHead2Go solution (

As far as as simulating the window effect, display an overlay on each screen.