什么是Unity中的Vector2和Vector3?

问题描述 投票:1回答:3

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

c# unity3d
3个回答
4
投票

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

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

幅度显示是方向的“强度”。例如,当使用力和物理原理时,向矢量2(1,0)中推入某些东西比向矢量2(100,0)向右推要弱得多。

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


1
投票

A Vector本质上是具有directionquantityquantity称为矢量的magnitudedirection称为normalized矢量,矢量在每个对象上的projection axis称为向量的components

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

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

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

A 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
投票

Vector2

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

代码示例

对于正值

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

负值

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

Vector3

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

代码示例

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

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

  1. Debug.Log(Cube.transform.rotation)//立方体是游戏对象

The Vector 3D response

© www.soinside.com 2019 - 2024. All rights reserved.