Vector3.Project
Declaration
public static Vector3 Project(Vector3 vector, Vector3 onNormal);Параметры
| Параметр | Описание |
|---|---|
| вектор | Вектор для проекции. |
| onNormal | Вектор для проекции. Этот вектор не нуждается в нормализации. |
Возвращаемое значение
Vector3 Вектор, получаемый из проекции vector. Этот вектор указывает в том же направлении, что и onNormal.
Описание
Проецирует вектор на другой вектор.
Результирующая проекция представляет собой количество vector, которое указывает в том же направлении, что и onNormal.
Диаграмма, показывающая вектор, проецированный на вектор onNormal. Проецированный вектор простирается через onNormal в том же направлении, поскольку величина vector в направлении onNormal больше величины onNormal. Результат указывает на точку вдоль бесконечной линии в направлении onNormal, которая ближе всего к точке, указанной vector.
Функция возвращает нулевой вектор, если onNormal почти равен нулю. onNormal не обязательно должен быть нормализованным вектором.
Вы можете использовать проекцию для вычисления ближайшей точки вдоль линии к целевому вектору. Эта информация может быть полезна для перемещения или ориентации объектов в направлении движущейся цели.
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { void Slide(Transform target, Vector3 railDirection) { Vector3 heading = target.position - transform.position; Vector3 force = Vector3.Project(heading, railDirection);
GetComponent<Rigidbody>().AddForce(force); } }