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方向,也就是人物面朝的方向。這樣就可以方便處理人物朝向問題。