машина не едит должным образом.

Программирование на Юнити.

машина не едит должным образом.

Сообщение triska 22 апр 2020, 19:06

Есть такой код (не помню где я взял, из какого-то пака, точно уже не помню):

Синтаксис:
Используется csharp
using UnityEngine;

public class Car : MonoBehaviour {

    private float m_horizontalInput;
    private float m_verticalInput;
    private float m_steeringAngle;

    public WheelCollider frontDriverW, frontPassengerW;

    public WheelCollider rearDriverW, rearPassengerW;


    public Transform frontDriverT, frontPassengerT;
    public Transform rearDriverT, rearPassengerT;
    public float maxSteerAngle = 30;
    public float motorForce = 50;

    public void GetInput() {
        ++m_horizontalInput;
        ++m_verticalInput;
    }

    private void Steer() {
        m_steeringAngle = maxSteerAngle * m_horizontalInput;
        frontDriverW.steerAngle = m_steeringAngle;
        frontPassengerW.steerAngle = m_steeringAngle;
    }

    private void Accelerate() {
        frontDriverW.motorTorque = m_verticalInput * motorForce;
        frontPassengerW.motorTorque = m_verticalInput * motorForce;
    }

    private void UpdateWheelPoses() {
        UpdateWheelPose(frontDriverW, frontDriverT);
        UpdateWheelPose(frontPassengerW, frontPassengerT);
        UpdateWheelPose(rearDriverW, rearDriverT);
        UpdateWheelPose(rearPassengerW, rearPassengerT);
    }

    private void UpdateWheelPose(WheelCollider _collider, Transform _transform) {
        Vector3 _pos = _transform.position;
        Quaternion _quat = _transform.rotation;
        _collider.GetWorldPose(out _pos, out _quat);
        _transform.position = _pos;
        _transform.rotation = _quat;
    }

    private void FixedUpdate() {
        GetInput();
        Steer();
        Accelerate();
        UpdateWheelPoses();
    }
}

В чем может быть проблема, что машина едет очень медленно, даже когда я делают нереальные значения, она начинает ехать чуть быстрее, но после значения 5000+ никаких изменений не происходит. (но это бред какой-то, так быть не должно)

Сам скрипт висит на главном объекте Car, в нее вложены 4 колеса, 2 передних ведущий и 2 задних.
Также скопированы еще 4 для WheelCollider, все работает, колеса вращаются очень быстро или очень медленно, а сама машина как черепаха двигается, никак не могу понять в чем проблема и как поправить.

На объекте Car также висит RigidBody = useGravity = true и BoxCollider.
triska
UNIт
 
Сообщения: 64
Зарегистрирован: 08 фев 2020, 09:42

Re: машина не едит должным образом.

Сообщение 1max1 22 апр 2020, 19:12

Если BoxCollider отключить что-то изменится?
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: машина не едит должным образом.

Сообщение triska 22 апр 2020, 19:44

1max1 писал(а):Если BoxCollider отключить что-то изменится?

Дак, ее начинает жутко трясти и прыгает, а потом переворачивается и улетает далеко, далеко =)))


Заметил. что если я отключаю и жму Play, начинает гнать, а если я жму плей и потом отключаю, ничего не меняется.
triska
UNIт
 
Сообщения: 64
Зарегистрирован: 08 фев 2020, 09:42

Re: машина не едит должным образом.

Сообщение 1max1 22 апр 2020, 19:49

Что-то мне кажется там конфликт коллайдеров, один входит в другой, задевает колеса ну и дальше происходит то что происходит.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: машина не едит должным образом.

Сообщение triska 22 апр 2020, 19:52

1max1 писал(а):Что-то мне кажется там конфликт коллайдеров, один входит в другой, задевает колеса ну и дальше происходит то что происходит.

Дак я пробовал поднять его выше колес, скорость машины не меняется.
triska
UNIт
 
Сообщения: 64
Зарегистрирован: 08 фев 2020, 09:42

Re: машина не едит должным образом.

Сообщение 1max1 22 апр 2020, 20:20

Очень сложно сказать. Нужно это видеть и дебажить.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: машина не едит должным образом.

Сообщение triska 22 апр 2020, 20:49

1max1 писал(а):Очень сложно сказать. Нужно это видеть и дебажить.

Я ща заметил такую хрень. поставил маленькую тачку тоже настроил, едит норм, когда ее увеличиваю в размерах, она начинает как черепаха ехать, это связи с чем связано?
triska
UNIт
 
Сообщения: 64
Зарегистрирован: 08 фев 2020, 09:42


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11