Ах, это случилось со мной во время разработки игр с Unity.
Проблема в том, что вы превышаете очень маленькое количество.
Скажем, вы хотите попасть в позицию 0. Вы нажимаете на позиции вроде 0,00004, затем -0,0524, затем 0,00242
.
По сути, вы колеблетесь около нуля, потому что оно никогда не бывает совершенно равным.
Я предлагаю вам попробовать что-то вроде:
if move_vec - look_vec > someMinValue || move_vec - look_vec < -someMinValue
(это сравнение по абсолютной величине)
По сути, если оно находится в пределах небольшого значения, вы можете сказать игре расслабиться и принять ее. Затем вы можете настроить значение так, чтобы оно было точно равно желаемому значению:
move_vec = look_vec
Возможно, есть лучшие ответы, которые вы можете придумать. Здесь важно то, что вы понимаете, в чем заключается проблема, и теперь можете исправить ее по своему желанию.