Changing the launch player orientation vector depending on the orientation of a trigger

So I made a small system that is making a FPS character wallrun.
When I’m entering a certain trigger while jumping and pressing space, the character is being launched away from the wall he’s running on.

So far so good, but here’s the problem : The launch I’m using is hardcoded vector values.
Therefore, It only works on one wall in a very special direction, I could do 4 triggers and make the character launch in 4 directions depending on the trigger entered, but that means I can only make walls in 4 directions.
Plus I find entertaining looking for the solution to this.

So I had the idea of retrieving the current orientation of the trigger I’m touching, and depending on its orientation, change the vector I’m launching to player to.
After many tries, I could not find a solution, either by taking the forward vector of the trigger or its rotation.

Do you have an idea what tool I could use to find such a thing?

Here is an idea for you. Create your own LaunchTrigger_BP actor which contains a collision volume (box, sphere or capsule) you can use to trigger the launch and an arrow component which indicates the launch direction. The arrow is usually not visible in game but only in the editor. This is handy to set it up.

With that, you can place your LaunchTriggers around the level on the different walls and orient them in the direction toward which you want your character to be launched once it enters them.

For the launch functionality, get the trigger your character has entered, get the arrow’s Forward Vector and pass it to the Launch Character node.

Hope this makes sense to you. Otherwise please ask again here.

Hello Marco,

Thank you so much for your help, this worked beautifully, I didn’t knew about these arrows.
Many thanks !

Glad to hear it worked for you! :slight_smile: Indeed, they are pretty handy.