Не работает controller car (сам писал)
Скрипт: using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CarController : MonoBehaviour
{
private float horizontalInput, verticalInput;
private float currentSteerAngle, currentBrakeForce;
private bool isBraking;
[SerializeField] private float motorForce = 1500f;
[SerializeField] private float brakeForce = 3000f;
[SerializeField] private float maxSteerAngle = 30f;
[SerializeField] private WheelCollider frontLeftWheelCollider, frontRightWheelCollider;
[SerializeField] private WheelCollider rearLeftWheelCollider, rearRightWheelCollider;
[SerializeField] private Transform frontLeftWheelTransform, frontRightWheelTransform;
[SerializeField] private Transform rearLeftWheelTransform, rearRightWheelTransform;
private void FixedUpdate()
{
HandleMotor();
HandleSteering();
UpdateWheels();
}
public void PressGas()
{
verticalInput = 1f;
}
public void ReleaseGas()
{
verticalInput = 0f;
}
public void PressBrake()
{
isBraking = true;
}
public void ReleaseBrake()
{
isBraking = false;
}
public void TurnLeft()
{
horizontalInput = -1f;
}
public void TurnRight()
{
horizontalInput = 1f;
}
public void StopTurning()
{
horizontalInput = 0f;
}
private void HandleMotor()
{
frontLeftWheelCollider.motorTorque = verticalInput * motorForce;
frontRightWheelCollider.motorTorque = verticalInput * motorForce;
currentBrakeForce = isBraking ? brakeForce : 0f;
ApplyBraking();
}
private void ApplyBraking()
{
frontRightWheelCollider.brakeTorque = currentBrakeForce;
frontLeftWheelCollider.brakeTorque = currentBrakeForce;
rearLeftWheelCollider.brakeTorque = currentBrakeForce;
rearRightWheelCollider.brakeTorque = currentBrakeForce;
}
private void HandleSteering()
{
currentSteerAngle = maxSteerAngle * horizontalInput;
frontLeftWheelCollider.steerAngle = currentSteerAngle;
frontRightWheelCollider.steerAngle = currentSteerAngle;
}
private void UpdateWheels()
{
UpdateSingleWheel(frontLeftWheelCollider, frontLeftWheelTransform);
UpdateSingleWheel(frontRightWheelCollider, frontRightWheelTransform);
UpdateSingleWheel(rearRightWheelCollider, rearRightWheelTransform);
UpdateSingleWheel(rearLeftWheelCollider, rearLeftWheelTransform);
}
private void UpdateSingleWheel(WheelCollider wheelCollider, Transform wheelTransform)
{
Vector3 pos;
Quaternion rot;
wheelCollider.GetWorldPose(out pos, out rot);
wheelTransform.position = pos;
wheelTransform.rotation = rot;
}
}
Я не знаю как решить баг/неправильно написаний скрипит





