"Launch Character" function with Local Space (instead of World Space)?

Hi to all. This is the first thing I’m trying to do with Blueprints, so don’t blame me If I’m asking something stupid.:stuck_out_tongue:

Is there any way to make the Launch Character function to use a local space vector instead of a world space vector? My goal is to achieve the same effect as in this GIF, it would be a funny gameplay mechanic.:smiley:


For doing that, I’ve made this Blueprint set up.

The player gets launched as expected, but the problem is that I can’t control in which direction, it gets always launched in the same direction, independently of the orientation of the shot. How can I make this function to use a local vector, and to make this vector to be the opposite of the direction of the shot?

Thanks in advanced!

Couldn’t you use a vector so you have control over the direction (X, Y, or Z)?


You’re halfway there in your screenshot, but instead of adding to your character’s forward vector, you should multiply it by the launch velocity you want. The forward vector on its own is basically a direction, so by multiplying it the resulting vector can be used as a velocity in that direction.

So Get forward vector x 1000, and then maybe add another vector with a Z value of 100-200 so you’re lifted off the ground a little.

Now it works almost perfectly! I added a little delay of 0.01 seconds between the Z vector and the XY Vector (to reduce friction). Isn’t there any way to make the “Get Actor Forward Vector” to respond to the orientation in the Z Axis as well? I mean, if I shoot to the ground, the player is pulled in the XY directions, but not in the Z Axis.

That’s the only thing it needs to be perfect!:smiley:

then get the camera component’s forward vector and profit. :slight_smile:

Hi. How to do same this, but in code C++?