Old Zelda-style camera

I’ve been at this since yesterday. I’m more of a designer and I have not learned much about blueprints; I can figure them out but I just don’t know how to start most of the time.

I’m experimenting on a blank project with no starter content. I made a top view perspective with a blueprint camera, and I want it to stop at certain edges, kind of like when you meet an edge in old Zelda games, then you walk towards the edge and the camera moves to the next screen. I tried using camera blocking volumes, but I don’t know much about them; the camera just zooms in towards the player whenever it touches them, since it has a springarm component, and it ignores them if I remove the springarm.

Could someone please point me to the right direction? It would really make my day.

can I bump this thing?

in your character, you can have a vector that represents your cameras world location, and a pair of vectors that represent the bounding box for the camera. then you can make a cameraBoundsVolume actor blueprint, which has a min and max vector and a box collision, so when the player overlaps the box, it sets the character’s CameraBoundsMin and CameraBoundsMax. then you can clamp the camera’s location between those vectors, and VinterptoConstant can handle the camera transition, but you will need to move the player in the same direction, to put them on the nextscreen.

here is an example of how it looks when you use this camera bounds method:

This is really interesting, thanks for helping me out. I’m not really sure what ‘Camera boom’ is, though. Is it a reference to another object? I can’t seem to link my camera component.

cameraBoom is a springArmComponent that has a camera attached to it.

Ah okay, I assumed it was either camera or springarm. I just had the wrong ‘Set World Location’ block. I replicated your blueprint and applied the same values you placed but it doesn’t seem to change anything. Is there something I have to set up in the level first?

Really sorry for not answering after so long. Work and college is leaving me with no free time at all. I will definitely try this after I get home.

in the level, you have to place a CameraBoundsBox for each room, and the camera will stop at the edges of each volume. once the player travels into a new camera volume, the bounds will be updated, and the camera will smoothly transition into the next area.

Sorry for the necro but I would like to know how did you create your CameraBoundBox ? Is that an actor, a Trigger Box… ?
And the HitBoxinterface_C ?

I know, this is pretty old and you must not remember how you’ve done it, but I’m trying to do the same thing and can’t find anything instead of this post.

CameraBoundBox is an actor, and HitBoxInterface is a blueprint interface that the character implements in its class settings. HitBoxInterface had generic functions for giving damage, insta killing the player, giving dialogue to the player, giving the player items, launching the player, loading levels, etc… and any world actors that needed to communicate with the player on touch, would make use of that interface.

Wow, that’s interesting ! Thanks for your answer.