不得不说,unity最新的轻量级角色控制器搭配新输入系统确实好用。不过我不会(doge)。想学习的小伙伴可以直接在Hub里面下载unity的第一人称控制器模板,个人觉得非常适合学习。
简单的第一人称控制器需要解决的事情无非三件:
角色的移动,相机的旋转,重力的模拟。
对于相机的旋转,我们希望在x轴上它应该是可以实现360度的,因为角色身体的旋转在x轴是随意的,但是在上下方向也就是y轴上,我们并不希望跟随视角的转动角色可以从将它的头反转过来,比较合理的处理是限制在-90度到90度之间。以下是相机代码部分:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraFallow : MonoBehaviour
{
public float mouseSensitivity = 100f;
public Transform player;
private float xRotation = 0f;
void Start()
{
Cursor.lockState = CursorLockMode.Locked; //在游戏中隐藏鼠标
}
// Update is called once per frame
void Update()
{
MoveMent();
}
void MoveMent()
{
float mouseX = Input.GetAxis("Mouse X") * mouseSensitivity * Time.deltaTime;
float mouseY = Input.GetAxis("Mouse Y") * m