CQ_Intelligent-Technology-T.../Assets/Improt/UTS/Scripts/Car/CarWheels.cs

46 lines
968 B
C#

using UnityEngine;
public class CarWheels : MonoBehaviour
{
public WheelCollider[] WheelColliders;
public Transform[] tireMeshes;
public bool useCustomCenterOfMass = false;
public Vector3 centerOfMassOffset;
void Start()
{
CheckCenterOfMass();
}
void Update()
{
UpdateMeshesPositions();
}
private void CheckCenterOfMass()
{
if (useCustomCenterOfMass)
{
GetComponent<Rigidbody>().centerOfMass = centerOfMassOffset;
}
}
private void UpdateMeshesPositions()
{
for (int i = 0; i < WheelColliders.Length; i++)
{
Quaternion quat;
Vector3 pos;
WheelColliders[i].GetWorldPose(out pos, out quat);
tireMeshes[i].position = pos;
tireMeshes[i].rotation = quat;
}
}
#if UNITY_EDITOR
private void OnDrawGizmosSelected()
{
CheckCenterOfMass();
}
#endif
}