用鼠标旋转相机但不要停止

Camera rotation with mouse but dont stop

我有一个问题 我制作了一个游戏,你可以在其中控制航天器并使用 mouse/keyboard 移动。我用鼠标上下左右旋转船。奇迹般有效。唯一的问题是当我停止移动鼠标时,船也会停止。因此,如果我想将飞船旋转几次,我需要 运行 用我的鼠标进行一场马拉松比赛。这是因为我使用 Input.Axis(Mouse X) 并且当您停止移动鼠标时它为零。

所以我想要的是:如果我将鼠标向左移动一点,并且仅当我 return 将鼠标移动到中心区域时才停止,则旋转飞船。我有这个代码 ATM

    var c = Camera.main.transform;
    float mouseX = Input.GetAxis("Mouse X");
    c.Rotate(0, mouseX * sensitivity, 0);
    c.Rotate(-Input.GetAxis("Mouse Y") * sensitivity, 0, 0);
    c.Rotate(0, 0, -Input.GetAxis("QandE") * 90 * Time.deltaTime);

我怎样才能做到这一点

BugFinder 的回答是正确的。这是在代码中,用于绕 Y 轴旋转。您可以在此基础上构建其他轴。

using UnityEngine;

public class Roll : MonoBehaviour
{
    public float sensitivity = .001f;

    Transform c;

    void Start()
    {
        c = Camera.main.transform;
    }

    void Update()
    {
        Vector3 mouse = Input.mousePosition;

        float dx = 0;

        if (mouse.x > 1000)
            dx = mouse.x - 1000;

        if (mouse.x < 920)
            dx = mouse.x - 920;

        c.Rotate(0, dx * sensitivity, 0);
    }
}