Unity 向量

第二次写博客了  希望自己可以坚持下去

    最近在找工作  也是复习下基础的知识、

首先说一下什么是向量, 

  向量:具有方向和大小的一个数组,具有维度性,它指向的是一个点

      那么在Unity中一般是一个Vector2或者Vector3的值,

如何取得一个向量:

    在Unity中可以通过目标的坐标点减去自身的坐标点得到一个从自身到目标点位的向量,

   private Transform Target;
    #endregion

    #region Properties
    #endregion

    #region Unity Messages
    // Start is called before the first frame update
    void Start()
    {

    }

    private void Update()
    {

        Vector3 Dec = Target.position - transform.position;

        Debug.DrawLine(transform.position, Dec, Color.red);
    }

上面说了向量是具有大小的,在unity中通过 Vector.magnitude属性获取向量的大小来判断是否在一定范围内;

运行后Scene界面、

Unity 向量

那么得到向量后如何使用就看自身项目需求是如何了。

  一般来说常用的是移动,

通过 transform.Translate(Dec.normalized * Time.deltaTime);

可以达到一个平缓的运动过程。

这边在说一下vector.normalized是什么,它是一个标准化的向量,

   什么是标准化的向量,上面说了,向量是具有方向和大小的,在我们得到一个向量后,它里面同时包涵大小和方向,

在每次使用和获取时,都在变动,那么在平缓移动到目标点位这一需求中,向量变动不会影响到我们需求的实现,但是,

向量的大小变动就会影响到我们每次调用Translate()函数时,物体移动的距离。这个时候就要用到标准化的向量。

它不包含大小,仅仅是一个方向量,你可以给他加上一个系数来控制速度。