Preparing to spec for an open source driving simulator project in Unity and would like your advice on how to deal with multiple screens.
The intended screens are:
In front of the cab, 3 large HD screens with panoramic view
Inside the cab, 2 side and 1 rear view mirror emulated with small LCD screens in place of actual mirrors
Like this:
In the Windows Display Properties / Settings control panel, the screen layout may appear as something like this:
Question 1: can Unity drive such a setup and how would it best be implemented ?
Is it true that this would require Unity Pro but could be done with Render Textures and 4 cameras (1 for the main pano screens and 3 for the rear view mirrors) And have them display in non-overlapping viewports corresponding to the Windows Display Layout (ie with NVidia Surround utility Unity thinks of the whole output surface as a single virtual screen 7584*1080 in the example above.
I would need at least two graphics cards (since modern NVidia cards can drive 3-4 simultaneous displays max) - I might have 2 cards SLI’d for the 3 main HD screens and an extra one for the small LCD screens.
Does this sound doable ? Is there a better performance way to do this ? I am trying to avoid going to multiple computers and having to deal with increased code complexity & latency issues…
Question 2: is there a way to deal with bezel correction, ie accounting for the physical space taken up by monitor bezels in the real world - whereas the Windows Displays layout obviously has no gap for purposes of rendering. Does anyone have experience with NVidia’s nView bezel correction used in conjunction with Unity ? Will it “just work” ?
Question 3: for LCD projectors rather than screens, is there a Rendering Effect component to do things like geometric & luma compensation for nonlinearities in the projectors/screens ? Or should I assume that needs to be done in the projectors (and shop for those that can do that, obviously)
Thank you very much in advance for any tips ! I will post more information and probably questions as the project takes shape.
Robert
Collating related / relevant information to save others some googling time:
-
Somewhat related, also see the Unite 2013 - Cluster Rendering Tech Preview video (Pete Moss, Unity’s Field Engineer in simulation and visualization, about cluster rendering.) Not quite what I am asking here since I would hope (TBD) that my simulator can run off one computer rather than requiring multiple. I realize the cluster solution scales up to more screens easily. Although I sure would like that “CameraRig” asset type for single node rendering !
-
Also related see NVidias recent announcement of G-Sync, a small hardware module inside future monitors for tear free variable VSync timing - no more frame rate drop penalty for checking that vertical blanking interval box… Also: tearing related good tip: use either all DVI or all miniDP output dont mix & match.
-
I just found this very similar question on StackExchange which suggests it cannot be done (at all on a single node, therefore don’t use unity) which would make me sad !
-
TripleHead2Go solution or NVidia Surround (span displays as one virtual one) using a hack (and windowed display only)
-
Looking into MiddleVR for Unity now…