unity第一人称

Posted 卡西莫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity第一人称相关的知识,希望对你有一定的参考价值。

using UnityEngine;
using System.Collections;

public class FirstView : MonoBehaviour {

    //方向灵敏度
    public float sensitivityX = 10F; 
    public float sensitivityY = 10F; 
    
    //上下最大视角(Y视角)
    public float minimumY = -60F;
    public float maximumY = 60F;
    
    float rotationY = 0F;
    
    void Update ()
    {
        //根据鼠标移动的快慢(增量), 获得相机左右旋转的角度(处理X)
        float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX;
        
        //根据鼠标移动的快慢(增量), 获得相机上下旋转的角度(处理Y)
        rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
        //角度限制. rotationY小于min,返回min. 大于max,返回max. 否则返回value 
        rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
        
        //总体设置一下相机角度
        transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0); 
    }
    
    void Start ()
    {
        // Make the rigid body not change rotation
        if (rigidbody)
            rigidbody.freezeRotation = true;
    }
}

 

 

using UnityEngine;using System.Collections;
public class FirstView : MonoBehaviour {
//方向灵敏度public float sensitivityX = 10F; public float sensitivityY = 10F; //上下最大视角(Y视角)public float minimumY = -60F;public float maximumY = 60F;float rotationY = 0F;void Update (){//根据鼠标移动的快慢(增量), 获得相机左右旋转的角度(处理X)float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX;//根据鼠标移动的快慢(增量), 获得相机上下旋转的角度(处理Y)rotationY += Input.GetAxis("Mouse Y") * sensitivityY;//角度限制. rotationY小于min,返回min. 大于max,返回max. 否则返回value rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);//总体设置一下相机角度transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0); }void Start (){// Make the rigid body not change rotationif (rigidbody)rigidbody.freezeRotation = true;}}

以上是关于unity第一人称的主要内容,如果未能解决你的问题,请参考以下文章

unity实现第一人称漫游(保姆级教程)

Unity用代码写行走移动(第一人称)

unity第一人称控制器脚步声在哪

UnityPico手柄摇杆控制第一人称移动和旋转

Unity使用官方第一人称控制器(第三人称参考)

unity第一人称