Camera Travel
CameraTravel() allows you to create smooth transitions of the camera position (Location, Rotation and/or Zoom).
With the CameraTravel() node in the image above, I would be traveling to the location of the "Target Actor" in 2 seconds.
You're not forced to move the Location of the UC with CameraTravel. You can choose to only move the Rotation or Zoom.
Target Settings
You can make a Target Settings structure if you want to track the position of an object (Actor, SceneComponent or Mesh Socket).
Registering an Actor, a SceneComponent and/or a Mesh Socket will keep them in memory for the duration of the travel and track their positions, allowing you to use them in your Location, Offset, Yaw, Pitch and/or Roll settings.
In this example, I'm registering "MyCharacter" as an Actor to track, and its Skeletal Mesh socket "MySocket".
Then, I use the Socket Location as my target Location in "Location Settings" : The UC will travel to the Socket Location.
I use the Actor Value for my "Yaw Settings" : The UC will rotate to MyCharacter's Yaw.
For the Zoom, I use a Custom Value "1500".
Position Settings
All of the position settings are optional, yet at least one has to be valid for the node to trigger.
When dragging position settings, you'll be able to specify wether you want to target an object from the Target Settings or a Custom Value.
Curve
You can add a Curve using a Curve_Float that goes from (0,0) to (1,1).
Using this curve, the UC will go slower in the beginning and the end of the travel, and faster in the middle.
Speed Settings
By dragging the Speed Settings, you can use a Duration or a Speed.
While the duration is pretty straightforward, the speed tries to normalize the different settings.
Since there are different types of values and all of them should end their traveling at the same time,
the speed setting will try to pick the greatest distance between the initial value and the target value.
For example, if you feed a location close to the initial location, and feed a yaw value that will result in
a 180 degrees rotation, the speed will be used for the yaw instead of the location
Execution Pins
CameraTravel() has three execution pins.
Normal execution
The first execution pin follows the normal execution of your logic with no delay.
On Reached Destination
Triggered whenever the UC has reached its destination.
In this example, I'm traveling to "MyCharacter" Location and rotating to its Yaw.
Once I've reached "MyCharacter"'s Location and Yaw, I start following its Location and Yaw.
On Aborted
You can interrupt the traveling process at any moment by calling AbortTravelTask(). This will trigger the "On Aborted" execution pin of the CameraTravel() node.