Wheel Collider - это специальный вид коллайдера для наземного транспорта. В него встроены: определение столкновений, физика колеса и основанная на скольжении шин модель трения. Его можно использовать и не только для колёс, но он был специально создан для транспорта с колёсами.
Свойство: | Функция: |
---|---|
Mass | Масса колеса. |
Radius | Радиус колеса. |
Wheel Damping Rate | This is a value of damping applied to a wheel. |
Suspension Distance | Максимальное расстояние расширения подвески колеса, измеряется в локальном пространстве. Подвеска всегда расширяется вниз по локальной оси Y. |
Force App Point Distance | This parameter defines the point where the wheel forces will applied. This is expected to be in metres from the base of the wheel at rest position along the suspension travel direction. When forceAppPointDistance = 0 the forces will be applied at the wheel base at rest. A better vehicle would have forces applied slightly below the vehicle centre of mass. |
Center | Центр колеса в локальном пространстве объекта. |
Suspension Spring | Подвеска пытается достичь значения Target Position с помощью пружины и сил сопротивления. |
Spring | Сила пружины, пытающаяся достичь Target Position. Чем больше значение, тем быстрее подвеска будет стремиться к Target Position. |
Damper | Добавляет сопротивление в подвеску. Чем больше значение, тем медленней будет двигаться Suspension Spring (пружина подвески). |
Target Position | The suspension’s rest distance along Suspension Distance. 1 maps to fully extended suspension, and 0 maps to fully compressed suspension. Default value is 0.5, which matches the behavior of a regular car’s suspension. |
Forward/Sideways Friction | Свойства трения шины, когда колесо катится вперёд и в сторону. См. ниже секцию Кривые трения колеса. |
Определение столкновений колеса производится с помощью картинка луча из Center вниз по локальной оси Y. У колеса есть Radius и оно может опускаться вниз в соответствии с Suspension Distance. Транспорт контролируется из кода, с помощью разных свойств: motorTorque, brakeTorque и steerAngle. См. справку по классу WheelCollider для дополнительной информации.
Wheel Collider рассчитывает трение отдельно от остального физического движка, используя модель трения, основанную на скольжении шин. Это позволяет реализовать более реалистичное поведение, и при этом, Wheel Collider’ы игнорируют стандартные настройки Physic Material (физического материала).
Не поворачивайте и не вращайте WheelCollider объекты для управления машиной - объекты с WheelCollider всегда должны оставаться в фиксированном положении относительно машины. Однако, вы можете поворачивать и вращать визуальные представления колёс. Лучший способ это сделать - разделить объекты с Wheel Collider’ами и видимыми колёсами:
Note that the gizmo graphic for the WheelCollider’s position is not updated in playmode:
Так как машины могут развивать большую скорость, очень важен правильный подход к геометрии гоночного трека, используемой для определения столкновений. Например, меш-коллайдер не должен иметь выпуклостей или вмятин, которые служат для украшения видимой модели (например, столбы ограждения). Обычно меш-коллайдер для гоночного трека создают отдельно от видимого меша, делая его как можно плавнее. В нём также не должно быть тонких объектов - если у вас тонкий забор трека, сделайте его шире в меше-коллайдере (или полностью удалите внешнюю часть, если машина туда никогда не сможет добраться).
Трение шины может быть описано показанной ниже кривой трения колеса. Существуют отдельные кривые для прямого (вращение) и бокового направления колеса. В обоих направлениях сперва определяется то, как сильно скользит шина (на основании разности скоростей между резиной шины и дорогой). Затем значение скольжения используется для того, чтобы найти силу, применяемую шиной к точке соприкосновения.
Кривая принимает измеренное скольжение шины и выдаёт силу на выходе. Кривая аппроксимируется по двухсекционной линии. Первая секция идёт от (0, 0) до точки (ExtremumSlip, ExtremumValue), в которой касательная кривой равна нулю. Вторая секция идёт от (ExtremumSlip, ExtremumValue) до (AsymptoteSlip, AsymptoteValue), где касательная кривой вновь равна нулю:
У настоящих шин есть свойство испытывать большие нагрузки при низком скольжении, так как резина компенсирует скольжение растягиванием. Далее, когда скольжение становится действительно большим, нагрузка снижается, т.к. шина начинает проскальзывать или крутиться. Поэтому кривые трения шин имеют форму аналогичную той, что представлена на изображении выше.
Свойство: | Функция: |
---|---|
Extremum Slip/Value | Точка экстремума кривой. |
Asymptote Slip/Value | Точка асимптоты кривой. |
Stiffness | Множитель значений Extremum Value и Asymptote Value (по умолчанию 1). Меняет жёсткость трения. Если установить в ноль, трение колеса полностью отключится. Обычно это свойство меняют из кода во время игры для симуляции различных дорожных покрытий. |