I followed a lot of tutorials, but for those just starting out, it's difficult. Most of them say they will teach, but they desperately click on the screen so that there is no way to follow... something very incoherent for those who say they follow "logic". But you made a spectacular tutorial...you could understand EVERYTHING and it worked!!! Dude, you are CONGRATULATIONS, because you really differentiate yourself from others... YOU KNOW HOW TO TEACH!!
This has to be the best tutorial out there. Thank you so much for your great explanation. One thing I'd like to add: About 10:12, you can use a "Sequence" node for that.
in this i wish unreal has an easy workflow as after effect, just add, orient to spline, set time offset start/end, and finish :D - in unreal you have to be a math expert or c++ programer,...wtf - thats what i mean, we need a new engine who combined the best of all into a new Legendary Engine !
@@blackswan6386 well, ue4 offers a lot more functionality than aftereffects and therefore allows you to tweak and program every single thing yourself for any use you might need; if it was hardcoded you would miss on functionality. yes, you might need a bit of math/programming knowledge to tell it what you need to do but that should be a given if one's planning to be a dev.
Excellent tutorial. I wanted to use splines for my enemy flying movements and though, hmm I wonder if there is a good tutorial. There sure was. Thank you so much for this, saved me bags of time reading documentation (and who wants to do that!!)
Thank you for the great tutorial. I actually followed another one but they were doing it in a much more convoluted way by setting the world transform on the mesh itself and then trying to add in an offset, but the problem was the offset changes depending on where it is in the world. Your tutorial allowed me to figure out how to add in a relative offset which is perfect.
Thank you! I had a similar system using timeline and world locations lerping from A to B but wanted to get it to work via spline and this was exactly what I was looking for.
Thank you! Couldn't figure out why the timeline wasn't looping on my end. About 2 days in and I got a ton of stuff done but it's those tiny things here and there that I don't know, coming from Unity. lmao
I couldn’t get this to work in 4.23 until I deleted the Set New Time module and connected the Set Play Rate to CartMover Timeline. Good tutorial though!
Great tutorial man!! This has helped out a lot. Any ideas on how to start on the spline track at the closest spline point relative to the cart / player? Say if they jumped on it in the middle, is there a way with this structure to start in the middle instead of the beginning?
Omar J. Cruz Rubio I managed to do it. I removed the static mesh from this blueprint and made a new BP called Traincart_BP with nothing except for a static mesh attached to the root. Then in your BP I added a Forloop to the begin play to spawn an X amount of traincart_bp’s and store this in an Array. Then after your Set Alpha node I added a ForEachLoop for the Array which connects to your SetActorLocationandRotation exec and target. And the ForEachLoop array index I multiply with a float named Cart Distance which I then add with your Lerp into the get Location and get Rotation distance.
@@FDCPElmo I am going to attempt this... But would it be possible to do this by using this system to build the wheel sections to the front and back of each cart and then using dynamics constraints to pin each cart to the front and back wheel assembly?
Great Tutorial Guys Thanks Alot i was Wondering How could i add Multiple Diffrent targets to the same spline similar to something like Beat Saber could be a left right up or down block traveling on the same spline
Well paced and delivered tutorial which I thought I had followed to the letter. I can't even get the spline mesh selected in the Blueprint to appear when I drag it into the scene. I keep getting an error message that "The default scene root is not static". I have tried several times to just create a BP with a basic Cube mesh as in the tutorails and no other commands and still have the same issue. Any suggestions please as my thinning hair is suffering with being pulled out! Many thanks
It's quite possible you didn't call your spline Blueprint Track. Go back and change the varible *SEARCH FOR* the name you called your Spline track blueprint! That should do it me thinks. =-)
Is it just me, or does it appear that the duration of your script doesn't work? At the very end, 12:35, you set the duration of the second kart you add to 5. But when you hit play, although it snaps to the middle of the spline and continues normally, they both move at the same speed... Seems weird, because it works for me.
Great tutorial, helped me a lot! I have a question, and looking at the comments below I see that I'm not the only one with the same issue. I need to create multiples objects following a spline, something like lots of arrows in random offsets along the spline to show the flow of some fluid. Any chance to create a tutorial on how to do something like this? Or any suggestion on how to achieve this? Thanks!!
So since the movement logic is actually on the carts, you may be able to add a Vector variable to the cart and add that offset to the vector that is plugged into the "set actor location" node. This will have the cart moving along the spline but not actually on the spline itself. Once you have the offset on the cart added you can expose that variable and change it for multiple carts while on the details panel while on the view port. There is also not a limit to how many carts can be on the spline, so you can duplicate the asset, link it to the spline and change the offset vector so they dont sit on each other. Hope that helps
I tried making the spline a component of an object's blueprint, but that caused the entire component to move, instead of moving the static mesh along the spline. I can't get references to a separate spline actor in blueprints. How can I fix this?
Hello, does this method also work with UE5? I'm using version 5.3 and followed everything exactly as you showed in the tutorial. However, at the end, when I try to use the spline as the track reference in the Cart Blueprint, it keeps saying that the track is incompatible.
hello sir. i love this tutorial, tthis spline action is so powerfull for animation motion grafix. your voice is warm and the lesson is really comfortable. but let me ask one question, in my case i put a SHIP o nthe spline, but it does not rotate in the direction of the spline, it looks like th rotatio and angle does not work ?! can you help me what i missed or how to set up ? just 1 click or more ? thank you
Is there a way to make the cube know wich track it's supposed to follow without having to put it down and than click the track I want multiple enemies to spawn in waves and follow the track when they spawn but I can't do that because of that feature and I don't know a way aroumd it please help
Awesome. So if I were to do Doombuggies (haunted mansion) how would I turn the carts towards a scene? As opposed to facing forward the whole time? I'm trying to figure out how to use trigger volumes but I'm kinda new at this
Hi, the simplest way is to set the timeline looping off. With the loop off it will simply stop at the last point on its own. Then you can also play it in reverse to have the cart go back to the start point. Hope that helps
Thanks for the tutorial... Works like a charm. Quick question is it possible to make a object follow a spline and then transfer to a new spline. Kinda like a Y connection.
Is there a way I could make the actor ‘jump’ to another spline after finishing the first? Example: Spaceship flies down to planet along a spline from its mother ship. After landing (finishing the spline), it lets the player out to walk around. Player then returns to the spaceship with the intention of returning to mother ship. Once inside, space ship uses new spline to TURN AROUND and fly back to mothership. I unfortunately can’t just use a flip flop, as that will make it look as though on the return journey, the space ship is just backing up into space.
This is so helpful, thanks so much! If you made the object on the spline a cart or vehicle, how would you get someone to spawn inside of it and ride the spline path to the end?
Hi, sorry for the late reply. There's a few ways to handle that, but if you want a character to spawn inside it and move along the track as a single unit, you probably want to make a second "set actor location and rotation" for the character you are moving/spawning except I would add a scene component to the kart that will serve as the target for that second set actor location. The character's basic controls will not work properly while this is running though. So the character in the kart would be trapped until the ride ends.
I have an issue of the object not reaching then end, I'm using it to path the flight of a crow and it just flies to the end of the spline and sits there flapping not triggering the "Finished" pin and changing the flying boolean to false thus changing the animation, with or without loop active. Great tutorial otherwise though thank you :)
For those who need to correct the rotation of the cart.You can simply add a function called "AddActorLocalRotation" right behind the last function. But my problem is the timeline doesn't loop when it reaches the end. I did check the "loop" checkbox but it just won't work well.
Thanks a lot for this! It works great! Somehow I can't figure out how to attach a mesh ( that 'd be some sort of a cable in my case along the spline component). A little help would be appreciated!
@@doublecrossgames9355 Thanks for the answer, but i don't really get how would i go about that, how do i set an event from when the timeline gets to 5?
@Siments Larion In the tutorial I used a float track in the timeline to get the alpha. There is something called an Event Track as well. That one outputs an execution instead of a float. Then you can make a custom event and attach it to the stop on the timeline itself. When a keyframe in the.event track gets called your custom event can be called. Also to make it stop at the end just make sure your float track isn't set to loop. Hope that helps.
Thank you for this super helpful tutorial! Can a similar process be used to animate a car? And is there a way to control speed and acceleration/deceleration?
Yes and yes, the speed you can adjust by changing the play rate of the timeline. If its an animation I would put box triggers along the road that on overlap change the play rate. You can use an "easing" node to make it smoother too. Hope that helps
I am trying to set multiple characters to follow this. How would I set a random radius from the spline to add variation to the characters walking on it?
Thank you for this tutorial. I use it to move several carts. But for some reason in certain parts of the spline it looks like the carts change speed, and for this reason distance between the carts change. Do you have any idea why this could happend? Thanks a lot in advance.
Yes, its a bit involved for the comment section but the short answer is you add a duration variable to the track itself and have more than one track section. In the "Complete" or "Finish" pin out of the timeline you can simply use your Track reference to update the Duration on the cart to match the speed you want. You will also need to add a "Next Track" variable to the track itself so you can eyedropper the track segments to each other in the right other. When the cart reaches the end of a track segment it will have its track ref updated to the next section as well as the duration.
Thanks for the video. Can you suggest a way to intervene in this blueprint so that groups of objects can be spawned and follow the spline, or is this Blueprint limited to one object only? I understand using the delay here but I'm trying to get a hundred or so meshes moving and cannot manage that many indiviual blueprints! Many thanks.
I suppose you could have a "spawner actor" that simply runs through a ForLoop from 0-Howevermany BPs and on the loop you simply spawn the cart. You would have to give that spawner actor a reference to the track like you did the cart so it can then pass that reference on spawn to the carts it makes. Should be able to drag out of the return pin for the Spawn actor of type node you will need to use. and SetTrack to pass the value along. Hope that helps, and sorry for the late response
Do you know why this method could potentially yield nothing to show up in the map at all? I just built it with a more complicated mesh, but nonethless still just a static mesh, but when I play the game I don't even see the mesh and obviously don't see any movement
I followed a lot of tutorials, but for those just starting out, it's difficult. Most of them say they will teach, but they desperately click on the screen so that there is no way to follow... something very incoherent for those who say they follow "logic". But you made a spectacular tutorial...you could understand EVERYTHING and it worked!!! Dude, you are CONGRATULATIONS, because you really differentiate yourself from others... YOU KNOW HOW TO TEACH!!
I really like your calm and clear teaching style. You're like the Bob Ross of Unreal.
Happy trees 🌲
Who is Bob Ross?
This has to be the best tutorial out there. Thank you so much for your great explanation. One thing I'd like to add: About 10:12, you can use a "Sequence" node for that.
Understanding nothing you say and just copying what you do and I'm like halfway in the video thinking 'no way this works'. Works.
It's incredible how many blueprints and variables you have to implement to make it work. °_°
Ty for the tutorial!
in this i wish unreal has an easy workflow as after effect, just add, orient to spline, set time offset start/end, and finish :D - in unreal you have to be a math expert or c++ programer,...wtf - thats what i mean, we need a new engine who combined the best of all into a new Legendary Engine !
@@blackswan6386 well, ue4 offers a lot more functionality than aftereffects and therefore allows you to tweak and program every single thing yourself for any use you might need; if it was hardcoded you would miss on functionality. yes, you might need a bit of math/programming knowledge to tell it what you need to do but that should be a given if one's planning to be a dev.
Fantastic tutorial! You are so concise and well-spoken. Your short explanation of a Lerp mid-tute was super helpful. Thank you!
Excellent tutorial. I wanted to use splines for my enemy flying movements and though, hmm I wonder if there is a good tutorial. There sure was. Thank you so much for this, saved me bags of time reading documentation (and who wants to do that!!)
just starting tut can already tell its a winner
Wow, I wish all tutorials were this awesome.
you are awesome and you deserve more attention
You’re a life-saver! Thank you! I’m trying to make a ‘conveyor belt’ of moving obstacles in a Plinko game and this is exactly what i needed
Thank you for the great tutorial. I actually followed another one but they were doing it in a much more convoluted way by setting the world transform on the mesh itself and then trying to add in an offset, but the problem was the offset changes depending on where it is in the world. Your tutorial allowed me to figure out how to add in a relative offset which is perfect.
To anyone wondering, you would want to use a relative transform rather than a world based transform.
This is exactly what I needed. Short and sweet presentation, GG
Thank you! I had a similar system using timeline and world locations lerping from A to B but wanted to get it to work via spline and this was exactly what I was looking for.
Amazing tutorial, thank you! This is even better than I had hoped for.
Straight to the point, and works. Thanks :)
Thanks for tutorial mate! It was very helpful.
Excellent tutorial, simple to follow and great effect, thanks
Thank you so much this solved a week long issue!
Awesome tutorial! Very clear and concise!
Great tutorial, please don't stop sharing your awesome stuff:)
Perfect explanation...excellent teaching and an objective and really logical programming. Excellent video! I've already subscribed to the channel!
Amazing!! Just what I was looking for!!! Thanks a lot!
Great tutorial. Not exactly what I need, but very insightful
Exactly what i need now. Thank you a LOOOOOT !!!!!
Very good sir, Thanks you for this golden education and explanation.
Thank you!! Just what I've been trying to find.
Great tut mate! Thank you very much!
Amazing video man!
Had a question like this for an interview, thanks man!
Awesome tutorial, thanks man!
This really helped me out today. Thanks a lot!
Thank you very much: clear, stright to the point with all usefull informations. Thanks again for your time :)
Finally explained how to do it, thanks.
Thanks a lot dude, very good tut !
SAVED MY LIFE
Thank you! Couldn't figure out why the timeline wasn't looping on my end. About 2 days in and I got a ton of stuff done but it's those tiny things here and there that I don't know, coming from Unity. lmao
Great and useful tutorial, Thank you.
I couldn’t get this to work in 4.23 until I deleted the Set New Time module and connected the Set Play Rate to CartMover Timeline. Good tutorial though!
Great video brotha
exactly what i needed, thank you!
Thx for this amazing tutorial! I have one question: At the final step, how to draw a specified trajectory for expamle a circle?
Amazing tutorial
Perfectly working!) Great thx for this tut! :)
Great tutorial man!! This has helped out a lot. Any ideas on how to start on the spline track at the closest spline point relative to the cart / player? Say if they jumped on it in the middle, is there a way with this structure to start in the middle instead of the beginning?
You might want to try the node "Find Location closest to world location". Just found it yesterday :)
God Bless U Man
Really good tutorial, you explain everything perfectly.
Would it be possible to make a single BP that acts like a train following the track?
Omar J. Cruz Rubio I managed to do it. I removed the static mesh from this blueprint and made a new BP called Traincart_BP with nothing except for a static mesh attached to the root.
Then in your BP I added a Forloop to the begin play to spawn an X amount of traincart_bp’s and store this in an Array.
Then after your Set Alpha node I added a ForEachLoop for the Array which connects to your SetActorLocationandRotation exec and target.
And the ForEachLoop array index I multiply with a float named Cart Distance which I then add with your Lerp into the get Location and get Rotation distance.
@@FDCPElmo I am going to attempt this... But would it be possible to do this by using this system to build the wheel sections to the front and back of each cart and then using dynamics constraints to pin each cart to the front and back wheel assembly?
wonderful tutorial ♥ thank you so much :)
Great Tutorial Guys Thanks Alot i was Wondering How could i add Multiple Diffrent targets to the same spline similar to something like Beat Saber could be a left right up or down block traveling on the same spline
Thanks a lot ! :)
am i the only one that cant find the "get useful spline" at 5:45 ?
or did i do something wrong so i cant see it?
Same here :(
i'm lost here
Well paced and delivered tutorial which I thought I had followed to the letter. I can't even get the spline mesh selected in the Blueprint to appear when I drag it into the scene. I keep getting an error message that "The default scene root is not static". I have tried several times to just create a BP with a basic Cube mesh as in the tutorails and no other commands and still have the same issue. Any suggestions please as my thinning hair is suffering with being pulled out! Many thanks
Great tutorial! Thanks. If it possible to let move the cart in close loop?
Its great works very well... i thought id done it wrong but then i forgot to expose the variables...
I don't see the Track variable type as explained at 5:27. Using the latest version of 4.24. Also, press here for quack noise --> 5:27
It's quite possible you didn't call your spline Blueprint Track. Go back and change the varible *SEARCH FOR* the name you called your Spline track blueprint! That should do it me thinks. =-)
Is it just me, or does it appear that the duration of your script doesn't work? At the very end, 12:35, you set the duration of the second kart you add to 5. But when you hit play, although it snaps to the middle of the spline and continues normally, they both move at the same speed... Seems weird, because it works for me.
Great tutorial , thank you!
Thanks. Just made a bus to our neighborhood game
Well done! Thank you!
Great tutorial, helped me a lot!
I have a question, and looking at the comments below I see that I'm not the only one with the same issue.
I need to create multiples objects following a spline, something like lots of arrows in random offsets along the spline to show the flow of some fluid.
Any chance to create a tutorial on how to do something like this? Or any suggestion on how to achieve this?
Thanks!!
So since the movement logic is actually on the carts, you may be able to add a Vector variable to the cart and add that offset to the vector that is plugged into the "set actor location" node. This will have the cart moving along the spline but not actually on the spline itself. Once you have the offset on the cart added you can expose that variable and change it for multiple carts while on the details panel while on the view port. There is also not a limit to how many carts can be on the spline, so you can duplicate the asset, link it to the spline and change the offset vector so they dont sit on each other. Hope that helps
Hi this works well for me no problem. However when ever i bring in another spline and a different mesh nothing happens?
I tried making the spline a component of an object's blueprint, but that caused the entire component to move, instead of moving the static mesh along the spline. I can't get references to a separate spline actor in blueprints. How can I fix this?
Hello, does this method also work with UE5? I'm using version 5.3 and followed everything exactly as you showed in the tutorial. However, at the end, when I try to use the spline as the track reference in the Cart Blueprint, it keeps saying that the track is incompatible.
Very simply and usefull! thank you! :)
Very Nice! Thank you. =)
hello sir. i love this tutorial, tthis spline action is so powerfull for animation motion grafix. your voice is warm and the lesson is really comfortable. but let me ask one question, in my case i put a SHIP o nthe spline, but it does not rotate in the direction of the spline, it looks like th rotatio and angle does not work ?! can you help me what i missed or how to set up ? just 1 click or more ? thank you
how to trigger this in sequencer?
How can I set the line during playing and make the Cube move along the line I created in game?
Thanks for the tutorial. Could you please try a vehicle instead of static mesh?
How to fix cart rotation?
Is there a way to make the player character follow the line is it the same as the object but just replace it with the character??
Is there a way to make the cube know wich track it's supposed to follow without having to put it down and than click the track I want multiple enemies to spawn in waves and follow the track when they spawn but I can't do that because of that feature and I don't know a way aroumd it please help
Awesome. So if I were to do Doombuggies (haunted mansion) how would I turn the carts towards a scene? As opposed to facing forward the whole time? I'm trying to figure out how to use trigger volumes but I'm kinda new at this
Is this works with Cinematic? or just playgame mode?
Great tutorial! One question: How can I make my cart stop at the spline´s end point instead of respawning at the start?
Hi, the simplest way is to set the timeline looping off. With the loop off it will simply stop at the last point on its own. Then you can also play it in reverse to have the cart go back to the start point. Hope that helps
@@doublecrossgames9355 Thank you so much! :D
Nice and simple thx
Thanks for the tutorial... Works like a charm. Quick question is it possible to make a object follow a spline and then transfer to a new spline. Kinda like a Y connection.
@@doublecrossgames9355 Thank you for the info.
Is there a way I could make the actor ‘jump’ to another spline after finishing the first? Example:
Spaceship flies down to planet along a spline from its mother ship. After landing (finishing the spline), it lets the player out to walk around. Player then returns to the spaceship with the intention of returning to mother ship. Once inside, space ship uses new spline to TURN AROUND and fly back to mothership.
I unfortunately can’t just use a flip flop, as that will make it look as though on the return journey, the space ship is just backing up into space.
This is so helpful, thanks so much! If you made the object on the spline a cart or vehicle, how would you get someone to spawn inside of it and ride the spline path to the end?
Hi, sorry for the late reply. There's a few ways to handle that, but if you want a character to spawn inside it and move along the track as a single unit, you probably want to make a second "set actor location and rotation" for the character you are moving/spawning except I would add a scene component to the kart that will serve as the target for that second set actor location. The character's basic controls will not work properly while this is running though. So the character in the kart would be trapped until the ride ends.
@@doublecrossgames9355 Perfect, thanks!
Please help! I'm getting an error 'the property assoiciated with useful spline could not be found in ....'
Thank you, great tutorial! Any idea how to loop the movement? I got loop on the timeline checked. However, it doesn't loop.
You should select both "Loop" and "Use Last Keyframe?".
I have an issue of the object not reaching then end, I'm using it to path the flight of a crow and it just flies to the end of the spline and sits there flapping not triggering the "Finished" pin and changing the flying boolean to false thus changing the animation, with or without loop active. Great tutorial otherwise though thank you :)
hello thanks for your great help how can we make this work in sequense please ?
For those who need to correct the rotation of the cart.You can simply add a function called "AddActorLocalRotation" right behind the last function.
But my problem is the timeline doesn't loop when it reaches the end. I did check the "loop" checkbox but it just won't work well.
Ok I forget to check the "UseLastKeyFrame". Now It's working perfectly.
Great tutorial, may I ask if we can draw Spline to move the objects in Cinematic Sequencer? Thanks a lot!
Good Lesson, thanks.
could we do the same thing with niagara particles? I wish my particles to face along the path direction
Is there a way to do this manually in key frames, via sequencer? It would be easier for me to do this outside of run time. I appreciate your help.
Thanks a lot for this! It works great! Somehow I can't figure out how to attach a mesh ( that 'd be some sort of a cable in my case along the spline component). A little help would be appreciated!
Hey, absolutely fantastic tutorial!
how can i stop the cart at the end (or middle, based on the point in the lerp)?
Yep or when the timeline gets to .5. You could even make an event track with a key at that .5 mark and have it fire an event for w/e you want
@@doublecrossgames9355 Thanks for the answer, but i don't really get how would i go about that, how do i set an event from when the timeline gets to 5?
@Siments Larion In the tutorial I used a float track in the timeline to get the alpha. There is something called an Event Track as well. That one outputs an execution instead of a float. Then you can make a custom event and attach it to the stop on the timeline itself. When a keyframe in the.event track gets called your custom event can be called. Also to make it stop at the end just make sure your float track isn't set to loop. Hope that helps.
@@doublecrossgames9355 Thanks a lot man!
Thank you for this super helpful tutorial! Can a similar process be used to animate a car? And is there a way to control speed and acceleration/deceleration?
Yes and yes, the speed you can adjust by changing the play rate of the timeline. If its an animation I would put box triggers along the road that on overlap change the play rate. You can use an "easing" node to make it smoother too. Hope that helps
@@doublecrossgames9355 I will have to try this out! Thanks so much!
Hi there, thanks for the tutorial. Is it possible to make this work in the sequencer?
I am trying to set multiple characters to follow this. How would I set a random radius from the spline to add variation to the characters walking on it?
Maybe I'm making a silly mistake but I don't have "get location distance along spline". It's not an option?
Thank you for this tutorial. I use it to move several carts. But for some reason in certain parts of the spline it looks like the carts change speed, and for this reason distance between the carts change. Do you have any idea why this could happend?
Thanks a lot in advance.
Thank U!
Is there a way i can give it different speeds between 2 points in time? I want the cart to go really slow at some point and then accelerate quickly
Yes, its a bit involved for the comment section but the short answer is you add a duration variable to the track itself and have more than one track section. In the "Complete" or "Finish" pin out of the timeline you can simply use your Track reference to update the Duration on the cart to match the speed you want. You will also need to add a "Next Track" variable to the track itself so you can eyedropper the track segments to each other in the right other. When the cart reaches the end of a track segment it will have its track ref updated to the next section as well as the duration.
@@doublecrossgames9355 Thank you so much!
Thanks for the video. Can you suggest a way to intervene in this blueprint so that groups of objects can be spawned and follow the spline, or is this Blueprint limited to one object only? I understand using the delay here but I'm trying to get a hundred or so meshes moving and cannot manage that many indiviual blueprints! Many thanks.
I suppose you could have a "spawner actor" that simply runs through a ForLoop from 0-Howevermany BPs and on the loop you simply spawn the cart. You would have to give that spawner actor a reference to the track like you did the cart so it can then pass that reference on spawn to the carts it makes. Should be able to drag out of the return pin for the Spawn actor of type node you will need to use. and SetTrack to pass the value along. Hope that helps, and sorry for the late response
Awesome video! But I have a problem where my actor only follows until the first point then restarts rather than traversing the whole spline, any tips?
Do you know why this method could potentially yield nothing to show up in the map at all? I just built it with a more complicated mesh, but nonethless still just a static mesh, but when I play the game I don't even see the mesh and obviously don't see any movement