im making a andriod drifting game in unity (in c#), EVERYTINHG works 100% in the editor, but when i build it and test it on my andiod phone, the car reveres when the car is spawned, so i did some debugging and found that all 4 wheel coliders's rpm jump to "naN" when the car is ativated
Code:
public void Update()
{
GetInput();
HandelMotors();
HandelSteering();
UpdateWeels();
CheckDrifting();
UpdateEffects();
ChangeValues();
ChangeUI();
}
//---Alot of other code, ask if you want to get all the code---
private void HandelMotors()
{
FRWC.motorTorque = (VerticalInput * MotorForce) + (Turboing == true ? TurboBoostAmount : 0);
FLWC.motorTorque = (VerticalInput * MotorForce) + (Turboing == true ? TurboBoostAmount : 0);
FRWC.brakeTorque = IsBreaking ? MaxMotorBrake : 0;
FLWC.brakeTorque = IsBreaking ? MaxMotorBrake : 0;
RLWC.brakeTorque = IsBreaking ? MaxMotorBrake : 0;
RRWC.brakeTorque = IsBreaking ? MaxMotorBrake : 0;
}
Code to stop the car when spawned
void StopCar()
{
CarController.enabled = false;
TrailL.enabled = false;
TrailR.enabled = false;
FRWC.motorTorque = 0;
FLWC.motorTorque = 0;
RRWC.motorTorque = 0;
RLWC.motorTorque = 0;
FRWC.brakeTorque = Mathf.Infinity;
FLWC.brakeTorque = Mathf.Infinity;
RRWC.brakeTorque = Mathf.Infinity;
RLWC.brakeTorque = Mathf.Infinity;
CarRig.velocity = Vector3.zero;
CarRig.angularVelocity = Vector3.zero;
CarRig.drag = 0;
CarRig.angularDrag = 0;
Invoke("EnalbeStuff", 1f);
void EnalbeStuff()
{
CarController.enabled = true;
TrailL.enabled = true;
TrailR.enabled = true;
}
}
Dont use "Mathf.Infinity" in your StopCar function, rather use "float.MaxValue", so it just look like this:
void StopCar()
{
CarController.enabled = false;
TrailL.enabled = false;
TrailR.enabled = false;
FRWC.motorTorque = 0;
FLWC.motorTorque = 0;
RRWC.motorTorque = 0;
RLWC.motorTorque = 0;
FRWC.brakeTorque = float.MaxValue;
FLWC.brakeTorque = float.MaxValue;
RRWC.brakeTorque = float.MaxValue;
RLWC.brakeTorque = float.MaxValue;
CarRig.velocity = Vector3.zero;
CarRig.angularVelocity = Vector3.zero;
CarRig.drag = 0;
CarRig.angularDrag = 0;
Invoke("EnalbeStuff", 1f);
}
void EnalbeStuff()
{
CarController.enabled = true;
TrailL.enabled = true;
TrailR.enabled = true;
}