Version: 5.4
Cloth
Terrain Collider

Wheel Collider

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 Свойства трения шины, когда колесо катится вперёд и в сторону. См. ниже секцию Кривые трения колеса.
The Wheel Collider Component. Car model courtesy of ATI Technologies Inc.
The Wheel Collider Component. Car model courtesy of ATI Technologies Inc.

Детали

Определение столкновений колеса производится с помощью картинка луча из Center вниз по локальной оси Y. У колеса есть Radius и оно может опускаться вниз в соответствии с Suspension Distance. Транспорт контролируется из кода, с помощью разных свойств: motorTorque, brakeTorque и steerAngle. См. справку по классу WheelCollider для дополнительной информации.

Wheel Collider рассчитывает трение отдельно от остального физического движка, используя модель трения, основанную на скольжении шин. Это позволяет реализовать более реалистичное поведение, и при этом, Wheel Collider’ы игнорируют стандартные настройки Physic Material (физического материала).

Настройка Wheel Collider

Не поворачивайте и не вращайте WheelCollider объекты для управления машиной - объекты с WheelCollider всегда должны оставаться в фиксированном положении относительно машины. Однако, вы можете поворачивать и вращать визуальные представления колёс. Лучший способ это сделать - разделить объекты с Wheel Collider’ами и видимыми колёсами:

Wheel Colliders are separate from visible Wheel Models
Wheel Colliders are separate from visible Wheel Models

Note that the gizmo graphic for the WheelCollider’s position is not updated in playmode:

Position of WheelCollider Gizmo in runtime using a suspension distance of 0.15
Position of WheelCollider Gizmo in runtime using a suspension distance of 0.15

Геометрия для коллизий

Так как машины могут развивать большую скорость, очень важен правильный подход к геометрии гоночного трека, используемой для определения столкновений. Например, меш-коллайдер не должен иметь выпуклостей или вмятин, которые служат для украшения видимой модели (например, столбы ограждения). Обычно меш-коллайдер для гоночного трека создают отдельно от видимого меша, делая его как можно плавнее. В нём также не должно быть тонких объектов - если у вас тонкий забор трека, сделайте его шире в меше-коллайдере (или полностью удалите внешнюю часть, если машина туда никогда не сможет добраться).

Visible geometry (left) is much more complex than collision geometry (right)
Visible geometry (left) is much more complex than collision geometry (right)

Кривые трения колеса

Трение шины может быть описано показанной ниже кривой трения колеса. Существуют отдельные кривые для прямого (вращение) и бокового направления колеса. В обоих направлениях сперва определяется то, как сильно скользит шина (на основании разности скоростей между резиной шины и дорогой). Затем значение скольжения используется для того, чтобы найти силу, применяемую шиной к точке соприкосновения.

Кривая принимает измеренное скольжение шины и выдаёт силу на выходе. Кривая аппроксимируется по двухсекционной линии. Первая секция идёт от (0, 0) до точки (ExtremumSlip, ExtremumValue), в которой касательная кривой равна нулю. Вторая секция идёт от (ExtremumSlip, ExtremumValue) до (AsymptoteSlip, AsymptoteValue), где касательная кривой вновь равна нулю:

Typical shape of a wheel friction curve
Typical shape of a wheel friction curve

У настоящих шин есть свойство испытывать большие нагрузки при низком скольжении, так как резина компенсирует скольжение растягиванием. Далее, когда скольжение становится действительно большим, нагрузка снижается, т.к. шина начинает проскальзывать или крутиться. Поэтому кривые трения шин имеют форму аналогичную той, что представлена на изображении выше.

Свойство: Функция:
Extremum Slip/Value Точка экстремума кривой.
Asymptote Slip/Value Точка асимптоты кривой.
Stiffness Множитель значений Extremum Value и Asymptote Value (по умолчанию 1). Меняет жёсткость трения. Если установить в ноль, трение колеса полностью отключится. Обычно это свойство меняют из кода во время игры для симуляции различных дорожных покрытий.

Советы

  • Возможно стоит снизить длительность шага просчёта физики в Time Manager’е для получения более стабильных результатов просчёта физики автомобиля, особенно если это гоночный автомобиль, способный передвигаться на больших скоростях.
  • Чтобы машину было не так просто перевернуть, вы можете программно немного понизить центр массы Rigidbody, и применить силу “давления прижима”, зависящую от скорости автомобиля.
Cloth
Terrain Collider