void Start()
    {
        wheel_col = GetComponent <WheelCollider>();
        skidmarks = FindObjectOfType <WheelSkidmarks>();

        if (!skidmarks)
        {
            Debug.Log("No \"WheelSkidmarks\" object found. Skidmarks will not be drawn");
        }
    }
Exemple #2
0
    public void SetWheels(bool usePhysicModel, bool Client, bool _isUsingWheelSkidmarks)
    {
        colliderFromPrefab = wheelCollider.GetComponent <WheelCollider>();

        wheelsCount = leftTrackWheels.Length + rightTrackWheels.Length;

        leftTrackWheelData  = new WheelDataExt[leftTrackWheels.Length];
        rightTrackWheelData = new WheelDataExt[rightTrackWheels.Length];

        leftTrackUpperWD  = new WheelData[leftTrackUpperWheels.Length];
        rightTrackUpperWD = new WheelData[rightTrackUpperWheels.Length];

        if (Client)
        {
            for (int i = 0; i < leftTrackWheels.Length; i++)
            {
                if (i < 10)
                {
                    leftTrackWheelData[i] = SetupWheels(leftTrackWheels[i]);
                }
            }

            for (int i = 0; i < rightTrackWheels.Length; i++)
            {
                if (i < 10)
                {
                    rightTrackWheelData[i] = SetupWheels(rightTrackWheels[i]);
                }
            }
            for (int i = 0; i < rightTrackUpperWheels.Length; i++)
            {
                rightTrackUpperWD[i] = SetupUpperWheels(rightTrackUpperWheels[i]);
            }
            for (int i = 0; i < leftTrackUpperWheels.Length; i++)
            {
                leftTrackUpperWD[i] = SetupUpperWheels(leftTrackUpperWheels[i]);
            }
        }
        Vector3 offset = transform.position;

        offset.z          += 0.01f;
        transform.position = offset;
        SetupAxis();

        if (_isUsingWheelSkidmarks)
        {
            GameObject LeftTailObj = new GameObject("Track");
            LeftTailObj.transform.SetParent(leftTrackWheels[leftTrackWheels.Length - 1].transform);
            LeftTailObj.transform.localPosition = Vector3.zero;
            LeftTailObj.transform.position     -= new Vector3(0, wheelCollider.GetComponent <WheelCollider>().radius, 0);
            LeftTailObj.transform.SetParent(LeftTailObj.transform.parent.parent);
            leftWheelSkidmarks = LeftTailObj.AddComponent <WheelSkidmarks>();

            GameObject RightTailObj = new GameObject("Track");
            RightTailObj.transform.SetParent(rightTrackWheels[rightTrackWheels.Length - 1].transform);
            RightTailObj.transform.localPosition = Vector3.zero;
            RightTailObj.transform.position     -= new Vector3(0, wheelCollider.GetComponent <WheelCollider>().radius, 0);
            RightTailObj.transform.SetParent(RightTailObj.transform.parent.parent);
            rightWheelSkidmarks = RightTailObj.AddComponent <WheelSkidmarks>();

            isUsingWheelSkidmarks = true;
        }
    }