So an actor is currently got a world location. But if it moves then it is “moving”. I imagine you first set a vector as the non moving location. Then check it after a very short amount of time. And if any of the X, Y, or Z is different then it has “moved”. Then it must start all over again? Hmm
And then you could work out HOW much it changed in that time or differed and work out “speed”.
the velocity is it’s speed…
you just get velocity and get vector length.
the result number is it’s speed.
for example if the vector length is 500,means that it moves 5 meter per secend.
This works for detecting movement. Off an Event Tick you will need 2 Do Once nodes, a delay node (this sets how fast it “checks” the movement) 2 floats (FrozenX and FrozenY), a sequence, 1 boolean (Moving?) 2 branches, 2 equal equal nodes, 1 Get Actor Location node. 1 Print String (Optional).
This detects movement for X and Y, but probably can be easily tweaked to add Zed. I won’t mark this as solved yet…I will see if I can figure out how to tweak what I have here and work out something I can use for speed.
This seems to work for a number that you can use for “speed”. Off of where the “Moving?” boolean is set to true, drag in and SET the Frozen Y variable (by holding left alt while dragging), GET the Frozen Y variable and subtract it from a Get Actor Location, feed that to an absolute or ABS node to keep the number positive or negative, finally I found that adding 100.05 (float) brought the number to 120 which seems to be about average for walking speed for Unreal, feed that to the SET Frozen Y variable. feed that to a print string before it hits that reset for the top Do Once if you need it.