相机在 X 轴上移动但不在 Y 轴上移动
Camera moving on X axis but not Y axis
我有一个脚本,因此 Main Camera
将在 x
轴上移动。这很好用。然后我有一个不同的场景,我希望相机跟随鼠标在 x
和 y
轴上移动。所以我制作了一个新脚本,我的代码看起来像这样
transform.position = newvector3.Movetowards(
Input.GetAxisRaw("mouse X") * speed * Time.DeltaTime,
0f,
Input.GetAxisRaw("mouse Y") * speed* Time.DeltaTime
);
它在 x
轴上移动很好,但在 y
轴上根本不移动。有谁知道为什么?
如果您不知道哪个是目标点,我认为 MoveTowards 不是改变位置的最佳方式。您应该简单地为您的坐标添加一个增量:
transform.position += new Vector3(
Input.GetAxisRaw("mouse X") * speed * Time.DeltaTime,
0f,
Input.GetAxisRaw("mouse Y") * speed* Time.DeltaTime
);
如果位置不能递增,请指正。
这应该在 X 和 Z 轴上移动您的对象。
你试过吗?
transform.position = newvector3.Movetowards(
Input.GetAxisRaw("mouse X") * speed * Time.DeltaTime,
Input.GetAxisRaw("mouse Y") * speed* Time.DeltaTime,
0f
);
您可能不确定这是否有效,但请尝试一下
public float speed;
private void Update()
{
Vector3 someVector3;
someVector3.x = Input.GetAxisRaw("mouse x") * speed * Time.deltaTime;
someVector3.y = Input.GetAxisRaw("mouse y") * speed * Time.deltaTime;
someVector3.z = 0;
transform.position += someVector3;
}
}
我有一个脚本,因此 Main Camera
将在 x
轴上移动。这很好用。然后我有一个不同的场景,我希望相机跟随鼠标在 x
和 y
轴上移动。所以我制作了一个新脚本,我的代码看起来像这样
transform.position = newvector3.Movetowards(
Input.GetAxisRaw("mouse X") * speed * Time.DeltaTime,
0f,
Input.GetAxisRaw("mouse Y") * speed* Time.DeltaTime
);
它在 x
轴上移动很好,但在 y
轴上根本不移动。有谁知道为什么?
如果您不知道哪个是目标点,我认为 MoveTowards 不是改变位置的最佳方式。您应该简单地为您的坐标添加一个增量:
transform.position += new Vector3(
Input.GetAxisRaw("mouse X") * speed * Time.DeltaTime,
0f,
Input.GetAxisRaw("mouse Y") * speed* Time.DeltaTime
);
如果位置不能递增,请指正。 这应该在 X 和 Z 轴上移动您的对象。
你试过吗?
transform.position = newvector3.Movetowards(
Input.GetAxisRaw("mouse X") * speed * Time.DeltaTime,
Input.GetAxisRaw("mouse Y") * speed* Time.DeltaTime,
0f
);
您可能不确定这是否有效,但请尝试一下
public float speed;
private void Update()
{
Vector3 someVector3;
someVector3.x = Input.GetAxisRaw("mouse x") * speed * Time.deltaTime;
someVector3.y = Input.GetAxisRaw("mouse y") * speed * Time.deltaTime;
someVector3.z = 0;
transform.position += someVector3;
}
}