关于c#:Unity中的Vector2和Vector3是什么?

What is a Vector2 and Vector3 in Unity?

标题说明了一切。 如果有帮助,我看到它们经常在运动脚本中使用。 什么是Vector2和Vector3,对于新手来说,Unity文档有点难以理解。


向量是对方向和大小进行建模的数学模型。 Vector2是2D,Vector3是3D。

向量2(1,5)是x的比例与y的比例为5的方向。例如,向右1/6行,向上5/6行。负数会使线分别向左和向下。

幅值显示了"强度"的方向。例如,当使用力和物理时,向vector2(1,0)中推入某些东西比向vector2(100,0)推向右边的要弱得多。

那应该是对您的基本理论介绍。


Vector基本上是具有方向的数量。数量称为向量的大小,方向称为归一化向量,向量在每个轴上的投影称为向量的分量。

Vector1具有一维方向,例如直线上的点,方向盘的值或任何实数。例如(0)或(-1000)。 Vector1的大小等于矢量或sqrt(x^2)x分量的绝对值。

Vector2具有2D方向,例如2D空间中的xy点,操纵杆的位置或2D纹理上点的uv偏移。例如(0,0)或(-1,100)。 Vector2的大小等于sqrt(x^2+y^2)

Vector3具有3D方向,例如3D空间中的xyz点或RGB格式的颜色或一组三个数字。例如(0,0,0)或(-0.1,3.14,30)。 Vector3的大小等于sqrt(x^2+y^2+z^2)

Vector4具有4D方向,例如4D空间中的xyzw点或RGBA格式的颜色或一组四个数字。例如(0,0,0,0)或(0.1,0.2,0.3,0.4)。 Vector4的大小等于sqrt(x^2+y^2+z^2+w^2)


矢量2

它是2D向量和点的表示,用于表示2D位置,只有两个轴x&y。

程式码范例
对于正值

Debug.log(new Vector2(1,2)-new Vector2(3,2));

负值

print(-new Vector2(1,2));

矢量3

它是3D向量和点的表示,用于表示3D位置(考虑x,y和z轴)。

程式码范例

Vector3偏移量= transform.position-player.transform.position;

1.transform.Translate(Vector3.forward * Time.deltaTime *速度)

  • Debug.Log(Cube.transform.rotation)//立方体是游戏对象
  • The Vector 3D response