- Home /
Question by
tulloch100 · Aug 04, 2017 at 08:11 AM ·
c#movementphysicscar
Car Movment Script not fully working!!!!!!!
Im creating a kart game and when I stop the kart the wheel dont stop and the kart takes a very long time to stop and reverse
Im not sure why the wheels are moving so fast and not stopping when brakimh, car is going so slow and taking ages to go into reserve?
I have a wheel collider on each wheel
This is my code that im using
using System.Collections;
using UnityEngine;
public class Car : MonoBehaviour
{
public float maxTorque = 5000f;
public float speed = 5000f;
public Transform centerofMass;
public WheelCollider[] wheelColliders = new WheelCollider[4];
public Transform[] tireMeshes = new Transform[4];
private Rigidbody m_rigidBody;
void Start()
{
m_rigidBody = GetComponent<Rigidbody>();
m_rigidBody.centerOfMass = centerofMass.localPosition;
}
void Update()
{
UpdateMeshesPositions();
}
void FixedUpdate()
{
float steer = Input.GetAxis ("Horizontal");
float accelrate = Input.GetAxis ("Vertical");
float finalAngle = steer * 45f;
wheelColliders [0].steerAngle = finalAngle;
wheelColliders [1].steerAngle = finalAngle;
for (int i = 0; i < 4; i++)
{
wheelColliders[i].motorTorque = accelrate * speed * maxTorque; }
}
void UpdateMeshesPositions()
{
for(int i = 0; i < 4; i++)
{
Quaternion quat;
Vector3 pos;
wheelColliders[i].GetWorldPose(out pos, out quat);
tireMeshes[i].position = pos;
tireMeshes[i].rotation = quat;
}
}
}
wheel-conoliders.jpg
(317.6 kB)
Comment