Ошибка определения пути машинки в левую сторону

[код][1]у машинки 2 маршрута на право и на лево. На право едет отлично. А вот когда поворачивает на лево её начинает кидать в разные стороны. Помогите найти причину. Новичек в этом деле.

[![код1][2]][2] [![ошибка умножения][3]][3]

using System;
using Unity.VisualScripting;
using UnityEngine;

[RequireComponent(typeof(Rigidbody))]
public class CarController : MonoBehaviour
{
    public bool rightTurn, leftTurn ;
    public float speed = 15f, rotateMultRight = 6f, rotateMultLeft = 5f;
    private Rigidbody _carRb;
    private float _originRotationY;
    private void Start()
    {
        _originRotationY = transform.eulerAngles.y;
        _carRb = GetComponent<Rigidbody>();
    }

    private void FixedUpdate()
    {
        _carRb.MovePosition (transform.position - transform.forward * speed * Time.fixedDeltaTime);
    }

    private void OnTriggerStay(Collider other)
    {
        if (other.transform.CompareTag("TurnBlock Right") && rightTurn)
            Rotatecar(rotateMultRight);
        else if (other.transform.CompareTag("TurnBlock Left") && leftTurn)
            Rotatecar(rotateMultLeft, -1);
            
    }

    private void OnTriggerExit(Collider other)
    {
        if (other.transform.CompareTag("TurnBlock Right") && rightTurn);
        _carRb.rotation = Quaternion.Euler(0, _originRotationY + 90f, 0);
        {
            
        }
    }
    private void Rotatecar(float speedRotate, int dir = 1)
    {
        float rotateSpeed = speed * speedRotate * dir;
        Quaternion deltaRotation = Quaternion.Euler(new Vector3(0, rotateSpeed, 0) * Time.fixedDeltaTime);
        _carRb.MoveRotation(_carRb.rotation * deltaRotation);
    }
}

  [1]: https://i.stack.imgur.com/2CtYi.png
  [2]: https://i.stack.imgur.com/qQygE.png
  [3]: https://i.stack.imgur.com/y8bkh.png

Ответы (0 шт):