Unity_第一人称控制器的实现_059

下面的源码是实现第一人称控制器的效果

using UnityEngine;
using System.Collections;

public class PlayerMove : MonoBehaviour {

    private float horizontal;
    private float vertical;
    public Transform m_CameraTransform;
    // Use this for initialization
    void Start () {
    }

    // Update is called once per frame
    void Update () {
        //获取虚拟轴前后方向上的分量
        vertical = Input.GetAxis("Vertical");
        //获取虚拟轴水平方向上的分量
        horizontal = Input.GetAxis("Horizontal");
        //控制第一人称控制器的前后左右移动
        transform.Translate((transform.forward  * vertical + transform.right * horizontal) * Time.deltaTime, Space.World);
        //人称视角左右摇头
        transform.eulerAngles += Vector3.up * Input.GetAxis("Mouse X");
        //实现人称控制器抬头低头的效果
        m_CameraTransform.eulerAngles += Vector3.right * -Input.GetAxis("Mouse Y");
    }
}

效果图如下:

你可能感兴趣的:(Unity)