通过鼠标移动控制玩家的旋转和抬头、低头,滚动鼠标滚轮切换摄像机的远近距离

该代码片段展示了在Unity3D中如何使用MonoBehaviour类的Update方法监听鼠标的X、Y轴移动和滚轮滚动,来控制相机的旋转和视场角的缩放。当鼠标水平或垂直移动时,相机绕相应轴旋转;滚轮向下时,如果视场角小于90度则增大视场角,反之则减小视场角,但不超过30度。
摘要由CSDN通过智能技术生成

public class Test : MonoBehaviour {

    float speed = 50;

    void Update () {

        float x = Input.GetAxis("Mouse X");

        float y = Input.GetAxis("Mouse Y");

        float z = Input.GetAxis("Mouse ScrollWheel");

        if (z < 0)

        {

            if (Camera.main.fieldOfView < 90)

            {

                Camera.main.fieldOfView += 2;

            } 

        }

        if (z > 0)

        {

            if (Camera.main.fieldOfView > 30)

            {

                Camera.main.fieldOfView -= 2;

            }  

        }

        if(x!=0 || y != 0)

        {

            x *= speed * Time.deltaTime;//鼠标横向移动变化值

            transform.Rotate(0, x, 0);//摄像机随着鼠标在x轴的变化绕y轴旋转

            y *= speed * Time.deltaTime;//鼠标纵向移动变化值

            transform.Rotate(-y, 0, 0);//摄像机随着鼠标在y轴的变化绕x轴旋转

        }

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值