Dziwne ,,wstrząsy" auta.

Ogólne pytania na temat Unity3D

Dziwne ,,wstrząsy" auta.

Postprzez DzikuseQ » 08 Lut 2020, 09:51

Witam,
Próbuje stworzyć grę ala wyścigową i tu pojawia się problem. Mam zrobione tekstury ulicy i dodałem do nich Box Collider, lecz po odpaleniu gry, gdy auto stoi w miejscu, dostaje drgawek i zachowuje się jak na lodzie. Problem jest mniejszy podczas jazdy, lecz dalej występuje.
Skrypt auta :
Kod: Zaznacz wszystko
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[RequireComponent(typeof(InputManager))]
[RequireComponent(typeof(Rigidbody))]
public class CarController : MonoBehaviour {
    public InputManager im;
    public List<WheelCollider> throttleWheels;
    public List<GameObject> steeringWheels;
    public List<GameObject> meshes;
    public float strengthCoefficient = 10000f;
    public float maxTurn = 20f;
    public Transform CM;
    public Rigidbody rb;
    public float brakeStrength;

    // Start is called before the first frame update
    void Start() {
        im = GetComponent<InputManager>();
        rb = GetComponent<Rigidbody>();
        if (CM)
        {
            rb.centerOfMass = CM.position;
        }
    }


    // Update is called once per frame
    void FixedUpdate() {
        foreach (WheelCollider wheel in throttleWheels)
        {
            if (im.brake)
            {
                wheel.motorTorque = 0f;
                wheel.brakeTorque = brakeStrength * Time.deltaTime;
            }
            else
            {
                wheel.motorTorque = strengthCoefficient * Time.deltaTime * im.throttle;
                wheel.brakeTorque = 0f;
            }
        }

        foreach (GameObject wheel in steeringWheels)
        {
            wheel.GetComponent<WheelCollider>().steerAngle = maxTurn * im.steer;
            wheel.transform.localEulerAngles = new Vector3(0f, im.steer * maxTurn ,0f);
        }

        foreach (GameObject mesh in meshes)
        {
            mesh.transform.Rotate(rb.velocity.magnitude * (transform.InverseTransformDirection(rb.velocity).z >= 0 ? 1 : -1) / (2 * Mathf.PI * .38f), 0f, 0f);
        }
    }
}
DzikuseQ
 
Posty: 4
Rejestracja: 26 Sie 2019, 18:14
Has thanked: 0 time
Been thanked: 0 time

Re: Dziwne ,,wstrząsy" auta.

Postprzez Wichur » 09 Lut 2020, 11:27

CM.position powinno byc localPosition
Awatar użytkownika
Wichur
 
Posty: 140
Rejestracja: 19 Gru 2017, 10:33
Miejscowość: Pruszcz Gdański
Has thanked: 0 time
Been thanked: 0 time


Wróć do Wsparcie Unity

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 1 gość

cron