Hello @cl_fabula ,
I’m not sure if this is the correct way to do it, but you can do it like this using a single spline. In this example I used a Character so you can see how it moves along the spline, but in your case you should use a Camera or whatever you want to move along it.
LoopStartDistance, DistanceAlongSpline, SplineSpeed, LoopPoint (which should be set to 1 by default or the spline point where you want it to restart and start looping), and bIsLooping. You can make the last three editable so you can easily tweak their values.
Then the logic is basically this : on BeginPlay you get the distance of the LoopPoint using “Get Distance Along Spline at Spline Point” and store it. Every tick you increase the DistanceAlongSpline using your speed, move the actor using “Get Transform at Distance Along Spline”, and when it reaches the end of the spline, instead of going back to 0 you set it to that stored distance.
With this you should be able to make the spline loop from a specific point correctly.
Hello !
Sorry for the late reply, i had other issues i needed to fix first.
It works very well, the only change i had to make was to change the space in World instead of local and instead of moving a component, i move the entire actor.
When i did not, i had an offset growing at every loop, so the camera was slowly drifting away.
I also removed the bool “Is Looping” since this is for a menu camera and it should always loop.
Lastly, i attached my camera to a SpringArm, and set the “Rotation Lag” from the spring arm to 1, that way it help smoothing the sharp turns of the spline points.