Angular Velocity behaving like Align Orientation for pitch and roll

  • What are you attempting to achieve? (Keep it simple and clear)
    I’m making a spaceship game where the player character is a spaceship, and i want it to rotate based on the mouse’s position on screen and the keys A/D.

  • What is the issue? (Keep it simple and clear - Include screenshots/videos/GIFs if possible)
    The problem is that I’m using angular velocity to rotate the humanoid root part, and yaw works fine, but when it comes to pitch and roll the angular velocity behaves like align orientation. More details in the video: https://player.vimeo.com/video/1018810590

  • What solutions have you tried so far? (Have you searched for solutions through the Roblox Wiki yet?)
    I tried turning the humanoid’s autorotate to false, creating another angular velocity specifically to change the pitch with no avail, and i looked around on the dev form and find everything does not work or isn’t what i need.
    You may then include any further details.

Here’s the code im using to rotate the player

RunService.Stepped:Connect(function()
	
	Speed = math.clamp(Speed + Accel, 0, 100)
	
	local MousePos = UserInputService:GetMouseLocation() - ScreenCenter
	
	local WorldVelocity = Character.HumanoidRootPart.CFrame.LookVector * Speed
	local YawVelocity = (MousePos.X / (ScreenSize.X / 2)) * -2
	local PitchVelocity = (MousePos.Y / (ScreenSize.Y / 2)) * -2
	
	FlyVelocity.VectorVelocity = WorldVelocity
	RotateVelocity.AngularVelocity = Vector3.new(PitchVelocity, YawVelocity, Bank * 2)
end)