Have actor go straight up in world space (avoid gimbal lock)

Hi everyone,

I am trying to figure out how to get the “worldspace up vector” but can’t seem to find anything on the docs. Basically I have my character swimming in water, but after a certain angle (pitch value) I want to add impulse straight up in world space. This is basically a way to avoid gimbal lock when swimming at a 90 degree angle up or down.

Currently Im adding impulse using the Forward Vector when the character is within an acceptable pitch. Otherwise I create a vector and add impulse only to Z. This sorta works but my character is still moving forward. I want to find a way to move him straight up or down after a certain pitch via impulse.

Is there a way to get the absolute world Up vector so no matter my character’s rotation I can add impulse straight up?

Here is my blueprint code where I determine the current pitch and then try to add impulse ONLY in the Z-axis.

Would appreciate any help I can get.



This is a solution to move the player in the Z world space direction. The timeline should go from 0 to 1, as this is the value it compares in alpha to go between “A” and “B”.
You will then have to add if the player has some additional moving up or down before setting the location.