Portal Door Effect

Hi there!

I’m trying to create a basic ‘portal door’ similar to the portals from Portal the game. Instead of something you shoot out onto a wall, I just want it to work on a static door. The effect I want is an area where you open a door to what looks like another room however it is a room you’ve already been in. When you walk through it seamlessly teleports you so it seems like the physical space is there when it isn’t. I managed to find a few videos of people demonstrating their own but not explaining how they did it: UE4 Portal Doors - YouTube

I’ve got the 2D capture and a feed running already. The problem is the render target isn’t functioning how I want it at all.

  1. I want it to change perspective based on the position of the player, so if they walk around, rather than a flat image, the angle of the camera moves to mimic the effect that there is an actual room ahead.

  2. The ratio of the render target is really messed up and squished, I want it to obviously look the same as if there’s nothing there and you are actually looking at the room.

I’ve struggled to find any tutorials so I’m hoping someone may know something that can help me.


I found a solution to this on some random blog once, it worked great too…I will try to find it again and post…

I couldn’t find it but check out this thread

Interesting idea. Haven’t found a direct answer, but here are some interesting links

Demo only, sadly no tutorialhttps://youtube.com/watch?v=Gt3NLTnCUTkhttps://www.youtube.com/watch?v=r5XAVy6wE-Ahttps://youtube.com/watch?v=hzzAVsHZ1jo

How to port:

general map transitions

reddit stuff

The thread that I posted explains how they achieved the result in the second youtube link you posted.

After a little research and thingking.I found a way to do this without code to modify the engine.The only way I found to do this effect like ‘Portal’ game is to replicate the whole scene runtime and connect it to the ‘back’ of your portal door,some modify steps need to take,such as change the gravity direction,etc.Obviously it’s very costing.But it’s the only way I found you can do without C++ code modify thr engine.