Моя камера персонажа Unity First Person странная и шаткая - PullRequest
0 голосов
/ 07 марта 2019

Я следую учебному пособию здесь: https://youtu.be/Sqb-Ue7wpsI?t=3727, и в настоящее время я программирую камеру от первого лица, но, к сожалению, я понятия не имею, где скрыта ошибка, и когда я нажимаю кнопку воспроизведения, камера FPS выглядит как видение пьяного человекавместо плавных движений и Мышь X и Мышь Y могут быть основной причиной этого, но вот код:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CMovements : MonoBehaviour
{
    [SerializeField]
    private Transform Playr, Lookr;
    [SerializeField]
    private bool Invertaxis;
    [SerializeField]
    private bool Unlockes = true;
    [SerializeField]
    private float Sensitivities = 8f;
    [SerializeField]
    private int smeufsteps = 10;
    [SerializeField]
    private float Smooth_weit = 0.4f;
    [SerializeField]
    private float rollangles = 0f;
    [SerializeField]
    private Vector2 defaulteslookleameats = new Vector2(-70f, 80f);
    private Vector2 Lookangles;
    private Vector2 Currentmauspos; 
    private Vector2 Smoothmove;
    private float Currentrollangles;
    private int last_leuk_frames;
    [SerializeField]
    private float Rollspeed = 3f;

    void Start()
    {
        Cursor.lockState = CursorLockMode.Locked;
    }

    void Update()
    {
        Lockunddelockcursor();
        Lookaround();
    }

    void Lockunddelockcursor()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
          if(Cursor.lockState == CursorLockMode.Locked)
                {
                    Cursor.lockState = CursorLockMode.None;
            } 
            else
            {
                Cursor.lockState = CursorLockMode.Locked;
                Cursor.visible = false;
            }
        }
    }

    void Lookaround()
    {
        Currentmauspos = new Vector2(Input.GetAxis(Mausexis.MausY),Input.GetAxis(Mausexis.MausX));
        Lookangles.x += Currentmauspos.x * Sensitivities * (Invertaxis ? 1f : -1f);
        Lookangles.y += Currentmauspos.y * Sensitivities;
        Lookangles.x = Mathf.Clamp(Lookangles.x, defaulteslookleameats.x, defaulteslookleameats.y);
        Lookr.localRotation = Quaternion.Euler(Lookangles.x,0f,0f); 
        Playr.localRotation = Quaternion.Euler(0f, Lookangles.y, 0f);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...