Что происходит при настройке transform.up в Unity - PullRequest
0 голосов
/ 26 сентября 2018

Что происходит, когда я устанавливаю значение transform.up в единицу.В частности, не могли бы вы объяснить это видео по ссылке ниже

https://youtu.be/_XdqA3xbP2A

Я знаю, что это меняет то, на что смотрит объект.Но это выглядит на позиции, или как это работает?Что происходит, когда я меняю прямой файл transform.up?Я не могу найти хорошее объяснение.Почему вектор в видео делает направление, направленное на мышь, почему бы не использовать саму мышиную позицию вместо вычитания?

Кроме этого, вы могли бы также объяснить, что происходит в видео?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Объект преобразования автоматически вычисляет кватернионное вращение, используя этот вектор вверх, как по умолчанию из Vector3.up, до нового вектора преобразования вверх.

0 голосов
/ 26 сентября 2018

По сути, когда вы перемещаете объект, вы берете его положение и вращение в качестве ориентира, поэтому, если вы увеличиваете +1 на позицию Y объекта, и этот объект поворачивается, вы будете увеличивать в этом направлении.enter image description here

но с Vector3.up вы используете мировое пространство в качестве ориентира, поэтому enter image description here

я хочу дать вамполные ответы здесь, но я должен был бы войти с некоторой математикой, упрощая, transform.up является направлением, на которое указывает спрайт, он получает направление, говоря это: enter image description here

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

, и вы получите неправильное направление.

...