下面的源码是实现第一人称控制器的效果
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");
}
}
效果图如下: