Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Vector3.sqrMagnitude

public float sqrMagnitude;

Описание

Возвращает квадрат длины этого вектора (только для чтения).

Величина вектора v вычисляется как Mathf.Sqrt(Vector3.Dot(v, v)). Однако вычисление Sqrt довольно сложное и занимает больше времени, чем обычные арифметические операции.

Вычисление квадрата величины вместо использования свойства величины происходит намного быстрее — вычисление в основном такое же, только без медленного вызова Sqrt. Если вы используете величины просто для сравнения расстояний, то вы также можете сравнивать квадраты величин с квадратами расстояний, поскольку сравнение даст тот же результат.

Смотрите так же: magnitude.

using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { // определяет, когда другое преобразование ближе, чем closeDistance // это быстрее, чем использование Vector3.magnitude public Transform other; public float closeDistance = 5.0f; void Update() { if (other) { Vector3 offset = other.position - transform.position; float sqrLen = offset.sqrMagnitude; // квадрат расстояния, с которым мы сравниваем if (sqrLen < closeDistance * closeDistance) { print("The other transform is close to me!"); } } } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3