Unity接口函数Vector3.Project()

using UnityEngine;
using System.Collections;

/// <summary>
/// Vector3.Project()函数测试。
/// </summary>

public class Vector3_Project : MonoBehaviour
{
    public Transform m_from_T;
    public Transform m_to_T;

    /// <summary>
    /// 向量的公共点
    /// </summary>
    public Transform m_comm_T;

    private Vector3 m_projects = Vector3.zero;


    // Update is called once per frame
    void Update()
    {
        m_projects = Vector3.Project(m_from_T.position - m_comm_T.position, m_to_T.position - m_comm_T.position);

        /// 绘制源向量的辅助线
        Debug.DrawLine(m_comm_T.position, m_from_T.position, Color.blue);

        /// 绘制投影的目标向量的辅助线
        Debug.DrawLine(m_comm_T.position, m_to_T.position + (m_to_T.position - m_comm_T.position).normalized * 100f, Color.red);
        Debug.DrawLine(m_to_T.position, m_comm_T.position + (m_comm_T.position - m_to_T.position).normalized * 100f, Color.red);

        /// 绘制投影在目标向量的结果向量
        Debug.DrawLine(m_comm_T.position, m_comm_T.position + m_projects, Color.black);

        Vector3 p1 = m_comm_T.position + m_projects;
        Vector3 v1 = p1 - m_from_T.position;
        /// 绘制开始向量到投影点的垂线。
        Debug.DrawLine(m_from_T.position, m_from_T.position + v1.normalized * 100f, Color.green);
    }
}
</pre><pre name="code" class="csharp"><p>测试函数</p><p>static function <em>Project</em> (<em>vector</em> : <a target=_blank href="">Vector3</a>, <em>onNormal</em> : <a target=_blank href="">Vector3</a>) : <a target=_blank href="">Vector3</a> </p>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值