Компоненты
Значение компонентов вектора можно получить двумя способами.Первый способ — через переменные компонентов.
Пример:
Vector3 v = new Vector3(1, 2, 3);
//Получаем значение компонента x
float x = v.x;
Второй способ — через массив компонентов.
Пример:
Vector3 v = new Vector3(1, 2, 3);
//Получаем значение компонента y (скобки кадратные)
float y = v[1];
Индексы компонентов: 0 — x, 1 – y, 2 – z, 3 – w.
Нормализованный вектор
Вектор, который имеет тоже направление, что и исходный, но его длина равна 1.Пример:
//Вектор с компонентами 4, 3, 0. Длина = 5.
Vector3 vect = new Vector3(4, 3, 0);
//Нормализованный вектор с компонентами 4/5, 3/5, 0. Длина = 1.
Vector3 normVect = vect.normalized;
Длина вектора
Получить можно через переменную «magnitude».Пример:
//Вектор, длину которого надо узнать
Vector3 vect = new Vector3(3, 0, 4);
//Получаем длину вектора, 5
float len = vect.magnitude;
Также есть функция для получения квадрата длины:
Пример:
//Вектор, длину которого надо узнать
Vector3 vect = new Vector3(3, 0, 4);
//Получаем квадрат длины вектора, 25
float sqrLen = vect.sqrMagnitude;
Для сравнения длин векторов советую использовать именно квадрат длины.
Почему?
Длина вектора — это корень квадратный из суммы квадратов его компонентов.
Квадрата длины — это сумма квадратов компонентов.
Во втором случае операций на одну меньше, а следовательно тратиться меньше времени. Это и без тестов понятно.
К тому же операция извлечения корня не быстрая. А оптимизация будет не лишней.
Если вы мне не верите, можете провести тест и убедиться.
На этом всё.