I am a veteran game artist but I am not a coder. That’s why I need your knowledge for a project I am working on.
I need to create a simulation which cover a 180deg field of view. It will be projected with multiple beamers on a U shape screen, the size of a classroom. The point of view is static.
I have no problems with the content creation.
My troubles come from the rendering of such environment. I don’t think I can use a single camera. I am thinking of using 3.
But how do I get the video feed of these 3 cameras through the video port of my graphic card to feed the 3 beamers? Basically can I merge these 3 views into one? Or keep them separated?
I just need pointers for what I should do or not do, to have a better idea on how to proceed. 3 graphic cards? Any other way?
Long story short, you can’t - at least not in a single instance of Unreal.
A better approach if I’m understanding you correctly, is to make it a multi-player game. Attach the two client pawns to your server pawn, and use those cameras as the additional two cameras. You can’t output information from more than one camera at a time, directly to the players view, and you can’t access multiple GPU’s at once from one instance of the game either.
So create the multiplayer version, and connect two clients to it. Make those clients use the projectors. Should be fairly straightforward, but you’ll need to get your hands dirty with programming in either Blueprint or C++. Blueprint should be able to handle this if it’s simple.
ohh! That is a set back.
The multi player approach seems a little bit too complicated for the project…
What about the Occulus output? Does that not use 2 cameras with a slightly offset position?
Or could I place my 3 camera and have them combined in post in 1 large video outpout?
Depending on your performance requirements you could use several cameras which capture to textures, then combine them in engine to a large appropriately sized screen.
The hardware will be hight end, with the latest and most powerful Nvidia graphic cards.
What I don’t get is that if you place 3 camera in your scene, and shift select them all, you have the 3 views simultaneously visible in the editor. (2 actually, not 3 in the same time. Don’t know if it is just a interface layout issue) Why is that not possible for output, 1 wide video, combining the 3 cameras views?
Is capture to texture as real-time as the normal view? I need a good fps. The cameras will not move, but the surrounding will be animated.
It would but split-screen requires the same multi-player functionality. It’s not possible to capture three camera views, simply because Unreal doesn’t support it by default (it has no need to).
Thank you guys for the information, very appreciated. @kkhaial : I think that even 180deg FOV will not do it, because the right and left views are distorted, it is still supposed to be seen facing forward. I want to be able to face the right and left, and they should be disposed at 90deg angle from the front one (U shape). @TheJamsh : yes if the multi player can be used by itself, with split screen, I could look into it. I just don’t want multiple clients to launch, connecting together for each to have 1 view. I am looking for 1 instance of the game doing it all.
When you say “Unreal doesn’t support it by default”, it still mean that a coder could go into it and do it,right?
I would take the solution with multiple instances of Unreal, because it should be easier to setup than a tripple splitsceen, and it’s more flexible. You could use 1 pc for each monitor, or use 1 pc for all monitors, it wouldn’t matter in this case.
It’s also more scalable, if you ever have the need to use even more cameras, it should be easy to implement. Another advantage is that this is definetly possible with blueprints.
1 pc for all screens is what I am after, because otherwise I need to buy more pc, which is a problem.
To run multiple instance of Unreal, I still need multiple pc, right? When you say one pc for all monitor, what do you mean?
Yes it is a cool project but I still need to know if it is doable and on budget before starting, that why I try to have a clear idea now.
You can run as many instances as you want with 1 PC as long as it is powerful enough… so it should be extremely simple to setup 3 windows right next to each other.
If for some reason you need to run only 1 instance then splitscreen can work too (and it’s also super easy to setup, just enable split screen in your project settings and then spawn extra players using the Create Player function in blueprint) but you have less control over the layout, you can’t have 3 views horizontally for example.
Here is a quick example of 4 player split screen.
Then it’s all a matter of setting the projectors to show the right portion of the screen (no idea about that… I’m assuming that’s possible).
it will create the 3 HD screens for you from 1 video card… it is a box that takes a resolution of 5760x1080 and splits in 3 signals… i think that is probably the cheapest/less complicated solution, you need a fast card though, maybe a titan would do the job… it is a funny box though, it can be a bit of a pain to set up but once it is working it is just fine. Maybe you can look in their forums…
hope that helps… you still need to do the work to make the 180 cameras inside unreal though.
Many thanks for all the ideas and help guys. @catalejo : The Matrox box do the same job as the latest Nvidia cards, right? I am planning to use the latest Geforce 900 serie cards that can output up to 4 monitors. Not sure about the Titan yet (price issue) @TK-Master : ok, did not know I could run multiple instance. The issue is the synchronisation. But I guess that where the multiplayer component is needed. But can I use multiplayer client/server type with one machine? (not the plit screen)