【Unity】向量学习(Vector2 & Vector3)

在Unity中向量是struct定义的值类型

  • Vector2:就是二维向量
  • Vector2Int:就是使用整数表示点的二维向量
  • Vector3:就是三维向量
  • Vector3Int:就是使用整数表示点的三维向量
  • Vector4:就是四维向量

向量的构造函数

  • new Vector2(x,y);
  • new Vector3(x,y,z);
  • new Vector4(x,y,z,w);

向量静态变量

静态变量 Vector2简码 Vector3简码
up (0,1) (0,1,0)
down (0,-1) (0,-1,0)
right (1,0) (1,0,0)
left (-1,0) (-1,0,0)
forward (0,0,1)
back (0,0,-1)
one (1,1) (1,1,1)
zero (0,0) (0,0,0)

向量的变量

  • x/y/z/w : 向量轴的值
  • magnitude :向量的模长( x * x + y * y + z * z + w * w)
  • normalized:向量归一化 向量方向不变,单位改为1
  • sqrMagnitude向量的模长的平方
  • this[int] :使用[0] [1] …表示 x,y,z,w

向量的公共方法

  • Set 设置向量的值,不可单独设置某一个轴上的值
  • ToString 将向量格式化为字符串
  • Equals 比较两个向量是否相似

向量的静态方法

  • Angle 返回两个向量的角度,相对偏小的绝对值
  • ClampMagnitude 钳制方法 判断在不在0到最大值之间,如果不在小于0返回0,大于最大值,返回最大值
  • Distance 返回a到b的距离 Vector3.Distance(a,b)与 相同(a-b).magnitude
  • Dot 点积方法
  • Cross 叉积
  • Lerp 线性插值 t的范围为0-1
  • LerpUnclamped 线性插值,t不舍限制
  • Max 返回最大值
  • Min 返回最小值
  • Normalize 将向量归一化
  • OrthoNormalize 使向量归一化并相互正交
  • MoveTowards 使用MoveTowards current成员将位于该位置的对象移向该target位置。通过使用此函数计算出的位置每帧更新对象的位置,您可以将其平稳地移向目标。
  • Project 投影 将向量投影到指定方向
  • ProjectOnPlane 投影到地面(向量在平面上的位置)
  • Reflect 反射,矢量inNormal定义了一个平面 。矢量inDirection被视为进入平面的方向箭头。返回值是一个向量,其大小与 相同,inDirection但其方向被反射。
  • RotateTowards 以固定速度将A向量向B向量方向旋转
  • Scale 将两个向量按位相乘
  • SignedAngle 返回从a向量到b向量的角度,带符号位 逆时针为正值,顺时针为负值
  • Slerp 球形插值 这与线性插值(又名“lerp”)之间的区别在于矢量被视为方向而不是空间中的点。返回向量的方向由角度进行插值,该参数被限制在 [0, 1] 范围内
  • SlerpUnclamped 球型插值 t不限制
  • SmoothDamp 平滑阻尼

猜你喜欢

转载自blog.csdn.net/ainklg/article/details/129768937