Hello, I need to make my camera change angle when it’s in a certain place, like Mario 3d world. Example, when I go to another obstacle, the camera distance a little and angle changes, I think I should use a collider to know when to change the camera angle. But I do not know how to do it in the Blueprint. (Do not change camera, just angle, distance) thanks for the answers!
If your camera is a camera component, attached to your character, you can adjust its relative location (for distance) and rotation (for angle) in-game. You can also try changing Field of View value instead of changing distance.
To make it a smooth change, you can try using timelines or slightly moving in each Tick to a pending final value.
If you are using Player Camera Manager, there are so many other ways to do that, but all involves overriding Blueprint Update Camera method.
Runtime camera events:
- You can use Collision Boxes or Trigger Collision in order to decide when to update the camera. Event Actor Begin Overlap might be sufficient to trigger the desirable routines.
- I highly suggest you to create an actor for these interactions, with some variables exposed like: FinalRotation and FinalLocation values that will be used when the player overlaps them, or RotationOffset, LocationOffset, and so on. This would also help you designing your level by re-using your logic.
- I highly suggest you to use BlueprintInterfaces for communication between the interactible box and the character.