How could I fit/warp a render target to a mask?

I currently have a player controller with 3 2D scene captures used as textures in materials which are displayed on images in a UI widget. My goal is to display this ultra ultra wide view in a U shape to let the player see to their sides. Attached is a very rough mockup of the effect I’m looking for as well as a screenshot of my current player view. Is it possible to use a mask to achieve this effect? If not, what are some ways you would go about doing this/resources on similar topics, thanks!

Hi Welcome,

What exactly you trying to achive as end result?

  • Something like a simulator view? with multiple monitors ?
    • Nview is something maybe looking for
  • Something like a very wide angle camera and single curve monitor setup?
    • Maybe just a higher FOV and Panini Projection is something maybe you are looking for. You can handle quite a large fov and some panini tricks, would be best if you do a panini post process yourself.
  • If you are looking for uncutted projection like you demonstrate as a curve?
    • That would be relatively less costly, you can use cuberendering SceneCaptureComponentCubefundamentally its 6 images together. You can use them and cut them in post process to extract the planes you want to see. I put an image of how it renders and if you want this stiched image already then in order to correct projection you have to make a custom post process again using possibly panini.
  • Something like you demonstrate as 3 cameras in single viewport?
    • Then as you know 3 scene captures, or 2 scene captures +camera with UV post process. I am not sure why they are rotated in your demonstration however can be as mentioned in the bullet above.

Some things to mention around 3 Render Target Rig (assuming same quality and all on tick); It costs 3x more to render those. You have to manually control some things top of my head autoexposure to match views.

a good camera setup with correct panini for done for the game itself should be something like this in the end.

1 Like

Hi and thankyou for the reply! The end result I’m looking for is a single view that allows the player to see slightly past 180 degrees while still fitting within a standard 16:9 aspect ratio (which is why I had the side cameras rotated vertically). My goal with this is to create an FPS game where the player can shoot at enemies to their sides.

The cubemap projection you shared is very promising and seems like a much better approach than using 3 separate scene captures. Is the projection you sent effectively 360 FOV? Any details about how that view was made are greatly appreciated. This is a great starting point for me to learn from, thankyou!

Understood and thanks for the explanation!

I can say couple of things so we can design something that works for players.

First things first there are some games that use that approach with some nice mechanics that I find innovative. Interms of the gameplay experience can be something interesting. Generally designers on those games (maybe for technical or ux reasons) took approach of having rear only views and switch between them. Hellscreen and Steel Batallion which are both nice games.

When it comes to human vision, view angle, focal point as well as cognitive load are limited. Generally on avarage 3–5 things we can focus be aware of, can be more or less depending what you do (gaming), how brain is wired etc. In short in a FPS game, at a given moment on screen player can focus already limited gameplay occurances. When we put sides inside there is already more things for player to focus or atleast be aware of. It is not strictly or necessarily a bad thing however game should be crafted such a way that feels allright, playability in a certain level. Think narratively a mecha, hybrid, mutation can do this in a game :slight_smile: Also maybe lets keep them not rotated since I think it will cause a lot of motion sickness and orientation problems (still its ok to experiment)

Whatever things aside since this game will be played a standart monitor maybe something ultrawide.

  • I suggest a camera rig setup on player pawn with large fov 110-140 this is a very large focal area, you can use some panini to adjust it.
  • 2 Scene Capture 2D looking to the left - right exact sides with same position and setup.
  • Game starts with a camera looking forward already, you can turn character by input button Q-E add a control rotation for fast snappy turns. Then continue shooting. You can setup different buttons to shoot sides directly also depends how you want it.
  • You can put the render target textures on left and right top as small on hud so they are like a small mirrors (like on a car). Player can occasionally control those in gameplay moment and decide where is good to turn on not at that moment. (assuming this is an intense combat)
  • These 2 render targets are not on tick but half tick time (every 2 ticks maybe less). You can sync them to be one on each tick so on tick the cost/effect ratio will be much better. Since the render targets one only on tick and they are relatively small resolution, your game will perform better. Since players focus not mainly on scene captures having lower frame rate over these is just ok.
  • On turns left and right cameras still will be right and left.

This way would be more performant, possibly more playable, howerver you will decide the gameplay feel so better start easy with a prototype like this and build on top or iterate. See if its something that you want before enhancing it and challanging technicality. Then you can start writing new tech if necessary its ok. Let us know the outcomes since I think with right balance could be a very fun game.

1 Like