unity鼠标控制视角旋转和缩放

 

在unity中怎么用鼠标实现视角的旋转和滚轮缩放呢

废话不多说,直接上源码:

public class MouseCamera : MonoBehaviour
{

public Camera cam;

// Start is called before the first frame update
void Start()
{
//隐藏或者显示物体
//transform.gameObject.SetActive(true);
cam = GetComponent<Camera>();
}

// Update is called once per frame
void Update()
{
//如果鼠标右键按下
if (Input.GetMouseButton(1))
{
float speed = 2.5f;//旋转跟随速度
float OffsetX = Input.GetAxis("Mouse X");//获取鼠标x轴的偏移量
float OffsetY = Input.GetAxis("Mouse Y");//获取鼠标y轴的偏移量
cam.transform.Rotate(new Vector3(OffsetY, -OffsetX, 0) * speed, Space.World);//旋转物体
}
if (Input.GetAxis("Mouse ScrollWheel") < 0)
{
if (cam.fieldOfView <= 100)
cam.fieldOfView += 2;
if (cam.orthographicSize <= 20)
cam.orthographicSize += 0.5F;
}
//Zoom in
if (Input.GetAxis("Mouse ScrollWheel") > 0)
{
if (cam.fieldOfView > 2)
cam.fieldOfView -= 2;
if (cam.orthographicSize >= 1)
cam.orthographicSize -= 0.5F;
}
}
}

posted @ 2022-05-31 16:29  嘿,阿然  阅读(1397)  评论(0编辑  收藏  举报