Описание
Проецирует вектор на другой вектор.
Чтобы понять векторную проекцию, представьте, что 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);
}
}