添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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

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

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

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

public Vector3 velocity;

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

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

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

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

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

关于vector3的一些静态属性

Shorthand for writing Vector3(0, 0, -1). Shorthand for writing Vector3(0, -1, 0). forward Shorthand for writing Vector3(0, 0, 1). Shorthand for writing Vector3(-1, 0, 0). negativeInfinity Shorthand for writing Vector3(float.NegativeInfinity, float.NegativeInfinity, float.NegativeInfinity). 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). Shorthand for writing Vector3(0, 1, 0). Shorthand for writing Vector3(0, 0, 0).