unity鼠标控制人物的rotation

本文介绍了一种使用Unity实现的第一人称视角(FPS)中,通过鼠标输入控制角色旋转的方法。利用Input.GetAxis获取鼠标水平和垂直轴的输入,并通过Quaternion.AngleAxis函数调整角色的旋转角度,确保了玩家在游戏中的视角平滑且精确地跟随鼠标移动。

鼠标控制人物的rotation

通常用于fps

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class move : MonoBehaviour
{
    public GameObject target;
    float x, y;
    float angleX, angleY;
   void Update()
    {
    
            x = Input.GetAxis("Mouse X");
            y = Input.GetAxis("Mouse Y");

      
        else
        {
            x = 0;
            y = 0;
        }
        //显示方便而已
        angleX += x;
        angleX = angleX > 360 ? angleX -= 360 : angleX;
        angleX = angleX < -360 ? angleX += 360 : angleX;
        angleX = Mathf.Clamp(angleX, -360, 360);
        angleY += y;
        angleY = angleY > 360 ? angleY -= 360 : angleY;
        angleY = angleY < -360 ? angleY += 360 : angleY;
        angleY = Mathf.Clamp(angleY, -360, 360);
    }
    private void LateUpdate()
    {
        if (Input.GetMouseButton(0))
        {
            Quaternion xQ = Quaternion.AngleAxis(angleX, Vector3.up);
            Quaternion yQ = Quaternion.AngleAxis(angleY, Vector3.left);
            target.transform.rotation = xQ * yQ;
        }
    }
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值