unity第一人称视角

using UnityEngine;  
using System.Collections;  

public class Firstperspective : MonoBehaviour  
{  
    public GameObject player; //声明player游戏对象  
    
    /*定义rot向量,初始值为(0,0,0)*/
    Vector3 rot = Vector3.zero;      
    
    public float speed;  //鼠标灵敏度值  

    void Start()   
    {  
    }  

    void Update()  
    {  
        /*获取鼠标X轴移动值,并乘以灵敏度speed*/            
        float MouseX = Input.GetAxis("Mouse X") * speed;             
        /*获取鼠标Y轴移动值,并乘以灵敏度speed*/    
        float MouseY = Input.GetAxis("Mouse Y") * speed;       
    
        /* rot.x减去鼠标Y轴移动量 */     
        rot.x = rot.x - MouseY;      
         
        /* rot.y加上鼠标X轴移动量*/    
        rot.y = rot.y + MouseX;           
    
        /*锁定z轴旋转*/
        rot.z = 0;               
         
        /*将rot的值赋给当前游戏对象的欧拉角*/    
        transform.eulerAngles = rot;    
    
        /*只让角色的y轴旋转,x和z轴锁定*/    
        player.transform.eulerAngles = new Vector3(0, rot.y, 0);   
    }
}

上述代码实现了第一人称视角控制。通过获取鼠标的X轴和Y轴移动来控制摄像机的旋转。Z轴被锁定防止左右倾斜。角色对象的旋转只通过鼠标X轴控制,Y轴和Z轴被锁定。通过修改speed的值可以调整灵敏度

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值