I have a character with a very simple motion control: when I press W the character moves forward, with S they it goes backwards and so on. The problem is that unlike what is possible in the real world, releasing the movement button halts the character instantly; the same happens in mid air - if you were going forward and, mid air pressed the button to go backwards, you will, which us impossible IRL and, thus, not what I want. How can I make it so the character has to first slow down, before being able to switch direction (for large-ish turn angles)?
The problem with the current suggestions is that it only partly fixes my problem, in that if I try to switch direction mid-air, it starts to move backwards with the same velocity it had when moving forward (i.e. the speed suddenly becomes negative), which is not what I want.