- Home /
Question by
blackkeath88 · Jul 06, 2020 at 10:31 PM ·
physicscarwheelcolliderwheelswheel colliders
Setting Wheelcollider BrakeTorque to 0 does not release brake
Once the BrakeTorque is applied, car does not move. 'motor' variable is always 0. Plz help.
using UnityEngine; using System.Collections; using System.Collections.Generic;
[System.Serializable] public class AxleInfo { public WheelCollider leftWheel; public WheelCollider rightWheel; public bool motor; public bool steering;
}
public class SimpleCarController : MonoBehaviour { public List axleInfos; public float maxMotorTorque= 300.0f; public float maxSteeringAngle;
[SerializeField] private float currentbreakForce;
[SerializeField] private bool handBreak;
[SerializeField] private float motor;
// finds the corresponding visual wheel
// correctly applies the transform
public void ApplyLocalPositionToVisuals(WheelCollider collider)
{
if (collider.transform.childCount == 0)
{
return;
}
Transform visualWheel = collider.transform.GetChild(0);
Vector3 position;
Quaternion rotation;
collider.GetWorldPose(out position, out rotation);
visualWheel.transform.position = position;
visualWheel.transform.rotation = rotation;
}
public void FixedUpdate()
{
handBreak = false;
currentbreakForce = 0f;
float motor = maxMotorTorque * Input.GetAxis("Vertical");
float steering = maxSteeringAngle * Input.GetAxis("Horizontal");
handBreak = Input.GetKey(KeyCode.Space);
if (handBreak)
{
ApplyBreaking();
}
foreach (AxleInfo axleInfo in axleInfos)
{
if (axleInfo.steering)
{
axleInfo.leftWheel.steerAngle = steering;
axleInfo.rightWheel.steerAngle = steering;
}
if (axleInfo.motor)
{
axleInfo.leftWheel.motorTorque = motor;
axleInfo.rightWheel.motorTorque = motor;
}
ApplyLocalPositionToVisuals(axleInfo.leftWheel);
ApplyLocalPositionToVisuals(axleInfo.rightWheel);
}
}
private void ApplyBreaking()
{
foreach (AxleInfo axleInfo in axleInfos)
{
currentbreakForce = 800.0f;
axleInfo.leftWheel.brakeTorque = currentbreakForce;
axleInfo.rightWheel.brakeTorque = currentbreakForce;
}
}
}
Comment
Your answer
Follow this Question
Related Questions
How to properly use WheelCollider GetWorldPos 0 Answers
Strange car beahaviour 0 Answers
Question about Wheel collider use 1 Answer
Wheels Are Too Much Inward 0 Answers
The car flies away when wheel collider touch walls or other objects 1 Answer