unity3d C# Unity摄像头上下移动速度很慢

aiqt4smr  于 2023-03-03  发布在  C#
关注(0)|答案(1)|浏览(373)

本项目使用的主摄像头为正射模式,X、Y方向旋转45度和30度,如何更改代码,使摄像头以相同的速度上下左右移动?在当前版本中,由于只更改了两个坐标,我无法达到同样的速度(相机上下移动非常缓慢)。Y坐标不会改变,因为这是高度,也因为它不可能正确地限制相机。

if (Input.GetMouseButtonDown(0))
{
    isDragged = true;
    touchStart = Camera.main.ScreenToWorldPoint(Input.mousePosition);
}
else if (Input.GetMouseButtonUp(0))
{
    isDragged = false;
}
if (Input.GetMouseButton(0) && isDragged == true)
{
    Vector3 direction = touchStart - Camera.main.ScreenToWorldPoint(Input.mousePosition);
    direction.y = 0;

    Vector3 newPosition = Camera.main.transform.position + direction;
    newPosition.x = Mathf.Clamp(newPosition.x, -45, 45);
    newPosition.z = Mathf.Clamp(newPosition.z, -45, 45);

    Camera.main.transform.position = newPosition;
}

我试着上下加相机加速度,但没有效果,速度还是不一样。

5w9g7ksd

5w9g7ksd1#

我通过将Y坐标添加到X和Z来解决该问题:

direction.x += direction.y;
    direction.z += direction.y;
    direction.y = 0;

相关问题