Hi im creating a interactive kinetic architecture.
I’d like to have multiple perspective windows in a playmode.
But its surprisingly difficult to find any tutorials or solutions to achieve this. Does anyone have any expeirence in this? Thanks!
There are two solutions for that.
1- Relatively easy but it will impact your performance.
You have to add Scene Capture Components and print their Texture Render Targets to an UMG widget. For interaction, you can use UMG function overrides such as Mouse Move. You don’t need to use C++ at all.
2- I didn’t try it before and I am not sure thay can be used for packaged projects. But there is an FViewport class. I can try it at this weekend.
Ah great! thanks for the suggestions, I already found a good tutorial for option 1 and seems like exactly what I needed.
I can give you some suggestions.
1- Don’t use full hd for secondary view resolution. Just select an acceptable one. If second view will take only 1/4 size of your screen, you don’t need full hd.
2- Don’t use 60 FPS as render speed for secondary view. You don’t need it if you don’t have too much fast things going on. Use 30 FPS. It is enough for users to understand their view.
Look at 3Ds Max’s viewport statics. Sometimes it decreases as low as 5-10 FPS
In short, give things to your users if they are necessary. performance doesn’t like ladling out.
Right I noticed some lagging after increasing the image size.
Also, I see the Captured component in within the whole playmode screen, and I’d like to know if It can be splitted, like in my drawing.
So the upper drawing is current mode,
And I wish to have something like in the bottom, but still having the “Playmode” screen as my main screen.
I appreciate your time
Not with blueprints.
You need to use local multiplayer. This step can be achieved with blueprints but in order to change its layout, you need to touch c++
Okay I did it but it has to be different than tutorial because when you have multiple layout designs (like 2 / 3 / 4 view) it becomes messed up.
and I need to implement these
-
Border color / background. As you see borders are black. We can access main window as SWindow and NativeOSHandle. So, we should be able to change this. (This will be easy)
-
Controller input. This system requires local multiplayer. General controller implementation is keyboard & mouse for Player 1 and gamepad for player 2. Or, WASD player 1 and Arrows player 2. But in this case we need to switch players when user click on specific screen.
-
Resize system. User should be able to resize each screen
These features good for my product, too. I will definitely work on that but I can’t give a deadline.
Wow, So this one is done differently than the tutorial as you said?
I used custom game viewport client like tutorial.
But he defined layouts at game viewport client initialization.
It works only if you have one customized layout.
For example, only 2, 3 or 4 will have customization (you have to select one) and others will come as default.
(When you try to add multiple configuration, viewports looks like on the top of each other)
But LayoutPlayers() allow me to define specific layout for each configuration including only 1 player / view. Article doesn’t have a sample about it.
I had already a window creation plugin and I implemented this to it.
I can change controlled player.
But border color / background feature is really pain in the bottom. So, I asked this.