How would you apply vehicle behaviour (IE being able to go off jumps or go through loops) onto a character?

I found someone else having a problem of the character rotating when they DON’T want him to: