Unity: 实现空物体跟随鼠标移动而旋转的代码

Unity中,实现空物体跟随鼠标移动而旋转的代码

 这个代码将空物体跟随鼠标移动而绕Y轴和X轴旋转。您可以将代码放到空物体上,然后将其与其他物体进行关联,使其跟随鼠标移动而旋转。

public class RotateWithMouse : MonoBehaviour 
{
    // 旋转速度
    public float speed = 10f;
 
    // 是否按下鼠标左键
    private bool isDragging = false;
 
    void Update () 
    {
        // 如果按下鼠标左键
        if (Input.GetMouseButtonDown(0))
        {
            isDragging = true;
        }
        // 如果释放鼠标左键
        else if (Input.GetMouseButtonUp(0))
        {
            isDragging = false;
        }
 
        // 如果正在拖动鼠标左键
        if (isDragging)
        {
            // 获取鼠标移动的距离
            float horizontal = Input.GetAxis("Mouse X") * speed * Time.deltaTime;
            float vertical = Input.GetAxis("Mouse Y") * speed * Time.deltaTime;
 
            // 绕着Y轴旋转
            transform.Rotate(Vector3.up, -horizontal, Space.World);
            // 绕着X轴旋转
            transform.Rotate(Vector3.right, vertical, Space.World);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_51943845/article/details/129850156