not sure if you already consider it, but the dot product can not distinguish between eg 170deg to 180deg and 190deg to 170deg. Both give the same dot product. So by default the dot product is only good up to 180deg. At higher angles say 190deg you get a disambiguity.
If you pass the 180deg mark with your vehicle, then you have to create a 'if pass 180, then make 360deg minus the dot product result' logic to actually achieve for example 190degs.
Yeah I knew that, luckily because I'm matching the right-vector, it knows when it's upside down, so the countering force is applied. Otherwise if I placed it perfectly upside-down, it wouldn't right at all but in this case it does
Comment