Персонаж случайным образом смотрит вверх или вниз, делая резкие движения на 90 градусов.C#

Место общения программистов C#
Anonymous
Персонаж случайным образом смотрит вверх или вниз, делая резкие движения на 90 градусов.

Сообщение Anonymous »

Я пытаюсь улучшить движение мыши моего персонажа. Это сценарий от первого лица, горизонтальное движение кажется идеальным, но в случайные моменты механика взгляда вверх/вниз выходит из строя и действует самостоятельно. Функции, которые я использовал для горизонтальной и вертикальной ориентации, одинаковы, но я не уверен, что может быть причиной этого.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MouseMovement : MonoBehaviour
{

public float mouseSensitivity = 200f;

float xRotation = 0f;
float YRotation = 0f;

void Start()
{
//Locking the cursor to the middle of the screen and making it invisible
Cursor.lockState = CursorLockMode.Locked;
}

void Update()
{
if (!InventorySystem.Instance.isOpen ) //remove these) && !CraftingSystem.Instance.isOpen)
{
float mouseX = Input.GetAxis("Mouse X") * mouseSensitivity * Time.deltaTime;
float mouseY = Input.GetAxis("Mouse Y") * mouseSensitivity * Time.deltaTime;

//control rotation around x axis (Look up and down)
xRotation -= mouseY;

//clamp the rotation so we dont Over-rotate (like in real life)
xRotation = Mathf.Clamp(xRotation, -90f, 90f);

//control rotation around y axis (Look up and down)
YRotation += mouseX;

//applying both rotations
transform.localRotation = Quaternion.Euler(xRotation, YRotation, 0f);

}
}
}

Вернуться в «C#»