Страница 2 из 2

Re: Вектор из точки перпендикулярно другому вектору?

СообщениеДобавлено: 17 ноя 2017, 11:01
Bill Gates
Наивное решение

Синтаксис:
Используется csharp
public class ProjectOnVector : MonoBehaviour
{
    /// <summary>
    /// Точка, из которой опускают перпендикуляр
    /// </summary>
    [SerializeField]
    private Transform tA;

    /// <summary>
    /// Вектор, на который опускают перпендикуляр
    /// </summary>
    [SerializeField]
    private Transform tB;
   
    void Update ()
    {
        float cos = Mathf.Cos (Vector3.Angle (tA.position, tB.position) * Mathf.Deg2Rad);

        Vector3 p = tA.position.magnitude * cos * tB.position.normalized;

        Debug.DrawLine (Vector3.zero, tA.position, Color.green);
        Debug.DrawLine (Vector3.zero, tB.position, Color.blue);

        /* Перпендикуляр */
        Debug.DrawLine (tA.position, p, Color.red);
    }
}