3
\$\begingroup\$

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?

\$\endgroup\$
  • 2
    \$\begingroup\$ A diagram would help here. \$\endgroup\$ – jzx Jun 24 '14 at 21:56
2
\$\begingroup\$

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.

\$\endgroup\$
2
\$\begingroup\$

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 1600x900 viewport, you would have a 4800x900 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 (http://www.matrox.com/graphics/en/products/gxm/th2go/digital/)

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

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.