Collider поверхностное трение
В реальной физике трение — это сила, которая препятствует движению между двумя поверхностями, которые контактируют друг с другом. Например, лёд имеет поверхность с низким трением, которая позволяет объектам легко скользить по его поверхности. Резина имеет поверхность с высоким трением, которая не позволяет объектам скользить по ее поверхности.
В системе PhysX есть два типа трения, которые вы можете контролировать:
- Статическое трение действует, когда коллайдер неподвижен. Высокое статическое трение мешает коллайдеру сдвинуться с места, пока он соприкасается с другим коллайдером.
- Динамическое трение применяется, когда коллайдер движется. Большое количество динамического трения препятствует скорости движения коллайдера, пока он находится в контакте с другим коллайдером.
Статическое трение особенно актуально в моделировании физики, когда вам нужно складывать объекты. Например, если вы помещаете один объект с низким трением на другой (например, куб льда на другой куб льда), низкое трение между ними может вызвать движение верхнего объекта, даже если нижний объект неподвижен.
PhysX рассчитывает контактные поверхности, которые больше, чем одна точка (например, две коробки, опирающиеся друг на друга), как имеющие множество точек контакта. Это, в свою очередь, умножает силы трения. Если это происходит, вам нужно скорректировать ваши значения трения, чтобы правильно масштабировать результаты — например, если есть две точки контакта, вы должны сократить ваши значения трения вдвое.
По умолчанию трение в Unity составляет 0.6. Это значение симулирует реальное трение в большинстве проектов.
Расчет трения
Вы можете выбрать тип расчета, который PhysX использует для имитации трения между коллайдерами. Чтобы сделать это, перейдите в Настройки Физики (Изменить > Project Настройки > Физика) и используйте свойство Тип трения. Подробнее о каждом типе трения см. в документации Настройки Физики.
Выбор типа трения всегда должен соответствовать балансу точности и производительности; большая точность всегда требует больше времени обработки. Некоторые проекты требуют чрезвычайно точного трения, в то время как другие больше ориентированы на оптимизацию производительности. Выберите тип трения, который лучше всего подходит для вашего проекта. Тип трения по умолчанию Patch Friction.
- Patch Friction: Patch friction рассчитывает силы трения в нескольких направлениях на основе распределения сил по поверхностям коллайдеров. Patch friction очень точен, но это наиболее вычислительно интенсивный вариант.
- Однонаправленное трение: Однонаправленное трение — это более простой метод расчета трения, который рассматривает трение в одном перпендикулярном направлении. Однонаправленное трение является наименее точным вариантом и наименее вычислительно интенсивным.
- Двунаправленное трение: Двунаправленное трение является вариантом однонаправленного трения, которое учитывает два перпендикулярных направления. Оно более точно, чем Однонаправленное трение, но менее точно, чем Патчовое трение.