Unity第一人称镜头模板
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerCam : MonoBehaviour
{
public float sensX;
public float sensY;
[Range(0, 1)]
public float smoothness = 1;
public Transform orien;
float xRotation;
float yRotation;
private void Start()
{
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
}
private void Update()
{
float mouseX = Input.GetAxisRaw("Mouse X") * Time.deltaTime * sensX;
float mouseY = Input.GetAxisRaw("Mouse Y") * Time.deltaTime * sensY;
yRotation += mouseX;
xRotation -= mouseY;
xRotation = Mathf.Clamp(xRotation, -90f, 90f);
Quaternion nextQua = Quaternion.Euler(xRotation, yRotation, 0);
transform.rotation = Quaternion.Lerp(transform.rotation, nextQua, smoothness);
orien.rotation = Quaternion.Euler(0, yRotation, 0);
}
}
内容解释:
该脚本需要挂载在一个空物体上,然后空物体下再挂载相机。
orien用于传输Y方向,也就是人物面朝的方向。这样就可以方便处理人物朝向问题。