Есть код персонажа:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour
{
[Header("Player movement")]
public float speed;
public float jumpForce;
private CharacterController characterController;
private Vector3 velocity;
[Header("Camera")]
public float sensitivity;
public GameObject playerCamera;
private float rotationX = 0f;
private void Start()
{
characterController = GetComponent<CharacterController>();
Cursor.lockState = CursorLockMode.Locked;
}
private void Update()
{
// Camera rotation
float mouseX = Input.GetAxis("Mouse X") * sensitivity * Time.deltaTime;
float mouseY = Input.GetAxis("Mouse Y") * sensitivity * Time.deltaTime;
rotationX -= mouseY;
rotationX = Mathf.Clamp(rotationX, -90f, 90f);
playerCamera.transform.localRotation = Quaternion.Euler(rotationX, 0f, 0f);
transform.Rotate(Vector3.up * mouseX);
// Character movement
float xMove = Input.GetAxis("Horizontal");
float zMove = Input.GetAxis("Vertical");
Vector3 move = transform.right * xMove + transform.forward * zMove;
characterController.Move(move * speed * Time.deltaTime);
// Jumping
if (Input.GetButtonDown("Jump") && characterController.isGrounded)
{
velocity.y = Mathf.Sqrt(jumpForce * -2f * Physics.gravity.y);
}
// Apply gravity
velocity.y += Physics.gravity.y * Time.deltaTime;
characterController.Move(velocity * Time.deltaTime);
}
}
Проблема в том что когда персонаж начинает двигатся в сторону то камера наченает закручиваться, а также при повороте камерой появляются подергивания