欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Unity 用Input类实现鼠标移动控制相机旋转

程序员文章站 2023-12-26 23:04:21
...

 移动鼠标控制相机旋转

正如相机在Unity中的坐标轴展示如下:

Unity 用Input类实现鼠标移动控制相机旋转

鼠标纵向垂直移动控制相机绕X轴旋转

鼠标横向水平移动控制相机绕Y轴旋转

using UnityEngine;
using System.Collections;

/// <summary>
/// 鼠标控制相机旋转
/// </summary>
public class DoRotation : MonoBehaviour
{
    private void Update()
    {
         float x = Input.GetAxis("Mouse X");//鼠标横向移动,让Unity中摄像机绕Y轴转动      
         float y = Input.GetAxis("Mouse Y");//鼠标纵向移动,让Unity中摄像机绕X轴转动
      
        if (x != 0 || y != 0)
            RotateView(x, y);
        //需要限制沿X轴旋转角度
    }

    public float speed = 10;
    private void RotateView(float x, float y)
    {
        x *= speed * Time.deltaTime; //鼠标横向移动变化值
        transform.Rotate(0, x, 0, Space.World); //Unity中摄像机随着x的变化绕Y轴转动,必须是绕世界坐标的Y轴

        y *= speed * Time.deltaTime;//鼠标纵向移动变化值
        transform.Rotate(-y, 0, 0);//Unity中摄像机随着y的变化绕X轴转动

    }
 
}

 

 

 

 

 

 

 

 

上一篇:

下一篇: