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方向,也就是人物面朝的方向。这样就可以方便处理人物朝向问题。

posted @ 2024-03-31 23:19  ComputerEngine  阅读(15)  评论(0编辑  收藏  举报