По сути, когда вы перемещаете объект, вы берете его положение и вращение в качестве ориентира, поэтому, если вы увеличиваете +1 на позицию Y объекта, и этот объект поворачивается, вы будете увеличивать в этом направлении.
но с Vector3.up вы используете мировое пространство в качестве ориентира, поэтому
я хочу дать вамполные ответы здесь, но я должен был бы войти с некоторой математикой, упрощая, transform.up является направлением, на которое указывает спрайт, он получает направление, говоря это:
«mousePosition.y» (ЗЕЛЕНЫЙ) - это позиция Y мыши, а «mousePosition.x» (КРАСНЫЙ) - это X-положение мыши, с этими двумя значениями у вас есть координата или направление (синий).traced line), единица которого преобразуется в кватернионы и применяет значение к вашему вращению (это в 2d).Вы хотите использовать Vector3, который использует привязку к мировому пространству, потому что, если вы используете локальную привязку, произойдет что-то вроде этого
, и вы получите неправильное направление.