Set actor location relative to direction character is facing

I am trying to make my character move forwards in a double jump type of motion. I’m using a timescale to make it smooth, basically a second degree function along the X axis. However, it uses the world x axis instead of my characters x axis (or direction chracter faces).

I’m sure this is quite an easy fix, any pointers? Here’s the blueprint I have right now:

I have also tried using launch character but it ends up with the same result. I guess that is because of my timescale which only moves the character on one axis. Wondering if it is possible to make that axis local instead of world?

Also tried doing it via adding a float value to the X axis, like so:

But it also ends up sending it along the world X axis of course, instead of the direction of my character.

you should be able to take the output of your timeline then multiply it by the actors forward vector (the node name is something like get actor forward vector) then add the result to the characters current position. also you shouldnt need the interp that you have since your using a timeline and presumably a curve in the timeline.

Tried that but didn’t get any good results. Something like the first picture?

Also tried as seen in the second picture.

Both of them seem to want my character to go to the middle of the map.I was using vinterp because it gave the best results in terms of the actual movement of the character, but again only along the world X.

Here’s my timelines:

They are set to arbitrary values now but with vinterp I could simply add the distance I wanted. The reason they look like that is because the character lifts his right foot and steps forward, then there’s a short time where both feet are planted and then the left foot is lifted and moves forward to his idle position.

Works perfectly, thank you.

Including the image in case anyone else is looking for this.

3 Likes

Since you want it to move along its forward direction, multiply the ActorForwardVector by the float value “Add Value” from your timeline, then add it to ActorLocation.

The vector multiplication you were doing, the Cross Product, gives you the vector perpendicular to the plane described by the two vectors, you don’t need it.

Slight update to this, the timelines work perfectly now and I’ve been able to finish off my combat system with forward movement on certain attacks, thanks again.

Now I’m trying to do the same thing, except move the character in the Z vector (upwards) using get character up vector and getting some really strange results. Either it does nothing, or when it gets to a certain value (between 45 and 50) the character just goes flying.

Any ideas?