Create a Simple Spline Escalator system

Hi there Everyone.
This is not so much a question, but rather a Solution to a Problem I have been having and I would like to Share.

If anyone has any Suggestions for Imporvments, please Feel free to let me know as I would love to improve my skills.

So First off, you must have an escalator step Geo or a piece of Geo you would like to use.

Then Create a Blueprint Actor Class and call it what you want.
Then in the Construction Script, Use the Following Variables and set up I have below.

Then in the event Graph, Do the Following.

Some Additional note:

I have set up the Step_Distance to be 37 as thats what worked well for me. The speed was around 2 or 3 for me.

Hope this helps someone.

Kind Regards
Jody

1 Like

Just tried this out. Works really well so far and seems to be a simple and elegant solution.

Thank you immensely for posting and sharing the knowledge.

The only thing I added was there was a strange offset from the first step being created at the end of the Event Graph (when the 2 floats are compared). I added an offset to the Spline length of half the Step Distance and it seems to clear it up.

hey this is really cool, i got it working in just a few minutes.

my only issue is i need a specific number of steps to fill a preset spline length and i dont quite understand the maths
surrounding the compare step distance and spline length.

Hey, am I right in thinking this only works going “up”? I am trying to get it working moving down too, setting the add speed section to minus speed seems to get them moving in the correct direction but they aren’t looping, anyone else know what would need tweaking to remedy that. Thanks.

nvm sorted! Image attached in case anyone is interested

Updated again with a switchable version of the BP so you can have 1 escalator BP and decide the direction with an Enum

Thanks to @JodyLS27 for the initial BP design.

1 Like

Adding my own little tweak to this old-■■■ thread (thanks btw!). Before finding this thread, I found a video that used the mesh’s bounding box to automatically offset the steps. I changed the name of the “Step_Distance” variable to “Offset” (just a personal preference), but everything else outside the commented area is the same, so you should be able to just drop in my tweaks to the Construction Script.