Вращение объекта при новой системе ввода Unity
Столкнулся с такой проблемой что как-то неправильно отрабатывает (Rigidbody или Character Controller) в Unity при новой системе ввода. То есть даже беру пример с документации Unity character Controller но почему-то происходит постоянное вращение когда нету движения. При старой системе ввода через Input.GetKey и прочее такой проблемы нету. Видео того что происходит: https://www.youtube.com/watch?v=OkkcNe8xjCw
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CharacterMovement : MonoBehaviour
{
private CharacterController controller;
private Vector3 playerVelocity;
private bool groundedPlayer;
private float playerSpeed = 2.0f;
private float jumpHeight = 1.0f;
private float gravityValue = -9.81f;
public PlayerController _input;
private void Awake()
{
_input = new PlayerController();
}
private void OnEnable()
{
_input.Enable();
}
private void OnDisable()
{
_input.Disable();
}
private void Start()
{
controller = GetComponent<CharacterController>();
}
void Update()
{
groundedPlayer = controller.isGrounded;
if (groundedPlayer && playerVelocity.y < 0)
{
playerVelocity.y = 0f;
}
Vector2 movement = _input.Player.Movement.ReadValue<Vector2>();
Vector3 move = new Vector3(movement.x, 0, movement.y);
controller.Move(move * Time.deltaTime * playerSpeed);
if (move != Vector3.zero)
{
gameObject.transform.forward = move;
}
// Changes the height position of the player..
if (_input.Player.Jump.triggered && groundedPlayer)
{
playerVelocity.y += Mathf.Sqrt(jumpHeight * -3.0f * gravityValue);
}
playerVelocity.y += gravityValue * Time.deltaTime;
controller.Move(playerVelocity * Time.deltaTime);
}
}