What is a Vector2 and Vector3 in Unity?
标题说明了一切。 如果有帮助,我看到它们经常在运动脚本中使用。 什么是Vector2和Vector3,对于新手来说,Unity文档有点难以理解。
-
mathinsight.org/vector_introduction这是基本介绍。 向量主要用于表示方向。 或在有力的情况下-方向和大小。 我建议您在数学网站上询问有关此问题的信息,或研究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)。
-
因此,例如,如果在2D游戏中,我想跳角色,是否会使用Vector3 z轴?
-
@Idk在2D游戏中,您的游戏对象将在2D空间(x,y)中移动,为此您需要一个vector2(跳跃操作Y)。 并将vector2分配为vector3的transform.position会自动将其转换为vector3,且其z等于0
-
在2D游戏中,@ idk,z代表深度
-
这值得更多关注,这是一个很好的解释!
矢量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)//立方体是游戏对象
-
可能值得解释的是,矢量不能真正代表点,但是根据您对它们所做的数学运算,它们可以充当点。