How do i implement perspective/gameplay swapping mechanic akin the one from Super Paper Mario

I’m trying to figure out how to make a mechanic similar to the “Flip” feature from Super Paper Mario, where the gameplay can seamlessly switch between two perspectives. In my game however, i want it to switch between a top-down view and a first-person view. The game is 2.5D with world itself using 3D boxes, but the characters, enemies, and objects like pickups all being 2D sprites using the “3D Sprites” extension.

When the game is top-down, the gameplay is inspired by Ikari Warriors and when it switches to first-person, it plays similar to classic Doom. I’d like the transition to happen smoothly during gameplay with a key press instead of loading a new scene. How do i make this?

1 Like

There is behavior called 3d flip
Or maybe it was 2d flip

That’s not what i meant, I trying to implement the an option to toggle seamlessly between a top-down view, and a first-person view at the press of a key.

1 Like

I made a system using the first person demo. In it there is a object called “camera” above the player, and while the player presses “Q” it changes the “mode” variable to “Top Down” and makes the scene camera look through the “camera” object instead of the “player”. It would take some adjustments to make it smooth, maybe you could use a lerp or a different action to make it go between the two states ( I have no Idea how the 3D camera works ), but it is still totally viable. Hope this helps!


I would stay in 3D and emulate 2D by moving your viewport above the scene (Top Down).

Initialize variables for x, y, z and angle for your topDownView and your firstPersonView, as well as a transition Variable for each of them. A state variable for swaping the view and knowing what view you are currently at will prove useful.

Then tween the transition variables from one perspective to the other, and apply them to your camera.