Making physics velocity match orientation

I’m making web swinging with the physics character state and avoiding body forces to get a more realistic swing. However, the physics state obviously disables any force from input, so you’d have to align the player velocity from the physics with your input.

I’ve tried a renderstep function multiplying the velocity by CFrame angles using the angle between the lookvector of the Humanoid root of the last frame and the current frame (from acos dot product), but it only works rotates the velocity correctly in certain directions, trying to give me velocity for the opposite direction I’m trying to go to.

The video illustrates how the velocity from the swing physics don’t match player input.