Ошибка определения пути машинки в левую сторону
[код][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