关于对vector3及其衍生变量的理解

时间:2023-12-29 17:07:50

关于对vector3,vector2类及其衍生变量的理解

vector3简单来讲即表示向量和点的系统类,这个结构用于处理向量和点,也包含许多做向量运算的函数。

而vector2即少一维向量的类,用于处理二维运算。

栗子:添加一个刚体的速度矢量,

public Vector3 velocity;

在大多数情况下,我们不应该直接修改速度,因为这会导致不切实际的行为。不要在每个物理步骤中设置每个物体的速度,这会导致不切实际的物理模型,改变速度的栗子是在第一人称中的跳跃。

void FixedUpdate() {
if (Input.GetButtonDown("Jump"))
rb.velocity = new Vector3(, , ); }

对于其他情况,建议还是用AddForce()方法比较符合实际。(2d游戏为了实现自然的控制体验,尽量使用addforce方法)

在坦克大战这一游戏中也使用了给物体添加速度的方法。

 rigidbody.velocity = transform.forward * v * speed;

关于vector3的一些静态属性

back Shorthand for writing Vector3(0, 0, -1).
down Shorthand for writing Vector3(0, -1, 0).
forward Shorthand for writing Vector3(0, 0, 1).
left Shorthand for writing Vector3(-1, 0, 0).
negativeInfinity Shorthand for writing Vector3(float.NegativeInfinity, float.NegativeInfinity, float.NegativeInfinity).
one Shorthand for writing Vector3(1, 1, 1).
positiveInfinity Shorthand for writing Vector3(float.PositiveInfinity, float.PositiveInfinity, float.PositiveInfinity).
right Shorthand for writing Vector3(1, 0, 0).
up Shorthand for writing Vector3(0, 1, 0).
zero Shorthand for writing Vector3(0, 0, 0).