Unity 6.3
0 онлайн 26 гостей 3 в системе
Вход

Физика

Чтобы применить глобальные настройки для физики 3D, используйте настройки Физика (главное меню: Изменить > Project Настройки, затем выберите категорию Физика).

Примечание: Чтобы управлять глобальными настройками физики 2D, вместо этого используйте настройки физики 2D.

Настройки Физики определяют пределы точности физического моделирования 3D. В большинстве случаев, более точное моделирование требует большей нагрузки на обработку, поэтому эти настройки предлагают способ компенсировать точность производительностью.

Панель Физика содержит настройки для определения того, какие Physics SDKs вы хотите использовать в вашем проекте.

Физика Inspector настройки.
Физика Inspector настройки.
Настройка Описание
GameObject SDK Определите SDK, который вы хотите использовать для управления физическим моделированием на GameObjects в вашем проекте. По умолчанию это PhysX. Установите Нет, чтобы отключить физическое моделирование для GameObjects в вашем проекте.

Раздел настроек проекта Физика также содержит панель под названием Настройки.

Настройки

Панель Настройки содержит настройки для всех Физика SDKs. Доступны следующие вкладки:

  • Shared: Настройки, которые применяются ко всем физическим SDKs.
  • GameObject: Настройки, которые применяются ко всем GameObject физике в вашем проекте.
  • Ткань: Настройки, применимые ко всем Ткань physics.

Общие настройки

Вкладка Shared содержит глобальные настройки, которые применяются ко всем физическим SDKs.

Окно Настройки Общей Физики.
Окно Настройки Общей Физики.
Настройка Описание
Гравитация Используйте оси x, y и z, чтобы установить величину гравитации, применяемую ко всем компонентам Rigidbody. Для реалистичных настроек гравитации, примените отрицательное число к оси y. Гравитация определяется в единицах мира в секунду в квадрате.
Примечание: Если вы увеличиваете гравитацию, вам также может потребоваться увеличить значение Итерации по умолчанию для поддержания стабильных контактов.
Матрица столкновений слоев Определить, каким образом столкновение слоев Для того, чтобы выбрать, какие слои Матрицы столкновений взаимодействуют с другими слоями, отметьте соответствующие флажки.

Настройки GameObject

Вкладка GameObject содержит глобальные физические настройки, которые применяются ко всем GameObjects в вашем проекте.

Окно Настройки физики.
Окно Настройки физики.
Настройка Описание
Материал по умолчанию Устанавливает ссылку на материал физики по умолчанию, который будет использоваться, если он не был назначен отдельному Collider.
Порог отскока Установить значение скорости. Если два столкнувшихся объекта имеют относительную скорость ниже этого значения, они не отскочат друг от друга. Это значение также снижает джиттер, поэтому не рекомендуется устанавливать его на очень низкое значение.
Максимальная скорость проникновения по умолчанию Определить значение по умолчанию для максимальной скорости депенетрации (скорость, которую решающий может установить для тела, пытаясь вытащить его из перекрытия с другими телами).
Порог сна Устанавливает глобальный энергетический порог, ниже которого некинематический Rigidbody (то есть не контролируемый системой физики) может перейти в спящий режим. Когда Rigidbody находится в спящем режиме, он не обновляется каждый кадр, что делает его менее ресурсоемким. Если кинетическая энергия Rigidbody, поделенная на его массу, ниже этого порога, он является кандидатом на спящий режим.
Смещение контакта по умолчанию Задайте расстояние, которое система обнаружения столкновений использует для создания контактов столкновений. Значение должно быть положительным, и если оно установлено слишком близко к нулю, это может вызвать тремор. По умолчанию это значение установлено на 0.01. Коллайдеры создают контакты столкновений только в том случае, если их расстояние меньше суммы значений смещения контактов.
Итерации по умолчанию Определяет, сколько процессов решателя Unity запускается на каждом кадре физики. Решители — это небольшие задачи физики, которые определяют ряд физических взаимодействий, таких как движения соединений или управление контактом между перекрывающимися компонентами Rigidbody.
Это влияет на качество выхода решателя, и рекомендуется изменить это свойство в случае, если используется не по умолчанию Time.fixedDeltaTime, или конфигурация является дополнительно требовательной. Как правило, оно используется для уменьшения колебаний, возникающих в результате соединений или контактов.
Итерации скорости решателя по умолчанию Задайте, сколько процессов скорости решатель выполняет в каждом кадре физики. Чем больше процессов решатель выполняет, тем выше точность полученной скорости выхода после Rigidbody отскока. Если у вас возникают проблемы с соединенными Rigidbody компонентами или Ragdolls, которые слишком сильно двигаются после столкновений, попробуйте увеличить это значение.
Запросы Hit Backfaces Включите эту опцию, если вы хотите, чтобы физические запросы (такие как Physics.Raycast) обнаруживали попадания с треугольниками обратной стороны MeshColliders. По умолчанию эта опция отключена.
Запросы, попадающие в триггеры Включите этот параметр, если хотите, чтобы физические проверки попаданий (Raycast, SphereCast, SphereTest) возвращали попадание при пересечении с коллайдером, помеченным как Trigger. Отдельные лучи могут переопределять это поведение. По умолчанию параметр включён.
Включить адаптивную силу Включите эту опцию, чтобы включить адаптивную силу. Адаптивная сила влияет на то, как силы передаются через столб или стек объектов, чтобы дать более реалистичное поведение. По умолчанию эта опция отключена.
Режим моделирования Выберите, когда Unity выполняет физическое моделирование из следующих вариантов:
  • Исправлено Обновление (по умолчанию): Выполнять физику симуляции сразу после MonoBehaviour.FixedUpdate.
  • Обновление: Выполнить физику сразу после MonoBehaviour.Update.
  • Сценарий: Выполнять физические симуляции при вызове скрипта Physics.Simulate.
Автоматическая синхронизация преобразований Включите эту опцию для автоматической синхронизации изменений преобразований с системой физики при изменении компонента Transform. По умолчанию эта опция отключена.
Повторное использование обратных вызовов столкновений Включить повторное использование обратных вызовов столкновений. Система физики создает только один экземпляр типа Коллизия и повторно использует его для каждого индивидуального обратного вызова. Это уменьшает отходы для сборщика мусора и повышает производительность. Это свойство включено по умолчанию.
Вызов коллизионных обратных вызовов Посылать сообщения о столкновениях MonoBehaviour для OnCollisionEnter, OnCollisionStayи OnCollisionExit в соответствующие скрипты, реализующие методы OnCollision. Это свойство включено по умолчанию.
Режим контактных пар Выберите тип генерации контактной пары для использования:
  • Пары контактов по умолчанию: получать события столкновений и триггеров от всех контактных пар, кроме пар кинематическое-кинематическое и кинематическое-статическое.
  • Включить кинематические кинематические пары: Получение столкновений и событий триггера от кинематических-кинематических контактных пар.
  • Включить кинематические статические пары: получать события столкновений и триггеров от контактных пар кинематическое-статическое.
  • Включить все пары контактов: Получать события столкновения и триггера от всех пар контактов.
Широкофазный тип Выберите широкофазный алгоритм для использования в физике моделирования. Для получения дополнительной информации, обратитесь к документации NVIDIA PhysX SDK и Столкновение с жестким теломВыберите один из следующих вариантов:
  • Sweep and Prune Broadphase: используется метод широкой фазы обнаружения столкновений sweep-and-prune, который сортирует объекты вдоль одной оси и исключает необходимость проверять пары, находящиеся далеко друг от друга.
  • Широкофазная резка: Обрезка с использованием нескольких ячеек использует сетку, и каждая ячейка сетки выполняет обрезку и обрезку. Это обычно помогает повысить производительность, если, например, есть много ячеек. GameObjects в плоском мире.
  • Automatic Box Pruning: этот алгоритм похож на Multibox Pruning, но дополнительно может автоматически вычислять границы мира и количество разбиений. Он поддерживает набор ячеек сетки и применяет обычный алгоритм sweep-and-prune для определения потенциально перекрывающихся пар коллайдеров. Как правило, он полезен для больших сцен, где один алгоритм Sweep and Prune создавал бы множество лишних ложных срабатываний.
Мировые границы Определить 2D сетку, которая окружает мир, чтобы предотвратить дальние объекты от воздействия друг на друга при использовании Широкофазная резка алгоритм.
Эта опция используется только, если вы установили Широкофазный тип до Широкофазная резка.
Мировые подразделения Число ячеек вдоль осей x и z в алгоритме сетки 2D.
Эта опция используется только при установке Broadphase Type на Multibox Pruning Broadphase.
Тип трения Выберите алгоритм трения, используемый для моделирования:
  • Patch Friction Type: Базовый алгоритм сильного трения, который обычно приводит к наиболее стабильным результатам при низком количестве итераций решателя. Этот метод использует только до четырех скалярных ограничений решателя на пару соприкасающихся объектов.
  • Тип однонаправленного трения: Упрощение модели трения Кулона, в которой трение для данной точки контакта применяется в сменяющихся касательной направлениях нормали контакта. Это требует больше итераций решателя, чем трение пятна, но не так точно, как двухнаправленная модель. Для Артикуляторные тела для работы с этим типом трения, установите Тип решателя на Временной Гаусс Сейдель.
  • Двухнаправленный тип трения: Как и однонаправленная модель, но применяет трение одновременно в обоих касательных направлениях. Это требует больше итераций решателя, но является более точным. Более дорого, чем патч-фрикцион для сценариев с многочисленными точками контакта, поскольку оно применяется в каждой точке контакта. Для Артикуляционные тела для работы с этим типом трения, установите Тип решателя на Временной Гаус Сейдель.
Включить расширенный детерминизм Симуляция в сцене является последовательной независимо от присутствующих актеров, при условии, что игра вставляет актеров в детерминистический порядок. Этот режим жертвует некоторой производительностью, чтобы обеспечить этот дополнительный детерминизм.
Включить унифицированные карты высот Включите эту опцию для обработки столкновений с местностью таким же образом, как и столкновений с сеткой.
Улучшенное трение патча Оптимизировать трение по участкам контакта так, чтобы статическое и динамическое трение не превышали аналитических значений. По умолчанию это свойство отключено.
Тип решения Выберите тип решателя PhysX, который будет использоваться для моделирования:
  • Проекции Гаусса Сейделя: Решитель по умолчанию PhysX.
  • Temporal Gauss Seidel: Этот решающий предлагает лучшую конвергенцию и лучшую обработку высоких соотношений масс, минимизирует энергию, вводимую при корректировке проникновений и улучшает сопротивление соединений к перенатяжению. Это обычно помогает, когда вы испытываете некоторое неправильное поведение во время моделирования с решающим по умолчанию.
Максимальная угловая скорость по умолчанию Устанавливает максимальную угловую скорость по умолчанию для всего проекта для всех динамических Rigidbody GameObjects, в радианах. Значение по умолчанию — 50.
Число кусочков в буфере царапин Число 16-килобайтных блоков памяти, выделяемых физической системе для временных выделений. Значение по умолчанию — 4, что обеспечивает буфер 64 КБ.
Порог быстрого движения Порог линейного движения, используемый алгоритмами CCD для определения того, двигалось ли быстро движущееся тело в этом кадре или нет. Должно быть больше нуля. По умолчанию это бесконечность, представленная значением 3.402823e+38.

Настройки ткани

Настройки на вкладке Ткань применяются только к физике Cloth.

Окно Настройки физики ткани.
Окно Настройки физики ткани.
Настройка Описание
Гравитационная ткань Установить значение гравитации по каждой оси для компонентов ткани. По умолчанию X установлено на 0, Y установлено на -9.81и Z установлено на 0.
Включить столкновение ткани Включить способность частиц ткани столкнуться друг с другом. См. Ткань: Самостоятельное столкновение и взаимное столкновение При включении этого параметра можно настроить следующие дополнительные параметры:
  • Расстояние между столкновениями: Определяет диаметр сферы вокруг каждой столкнувшейся частицы ткани, в единицах мира. Unity обеспечивает, чтобы эти сферы не перекрывались во время моделирования. Расстояние должно быть меньше, чем наименьшее расстояние между двумя частицами в конфигурации. Если расстояние больше, столкновение ткани может нарушить ограничения расстояния и привести к тремору. По умолчанию это значение установлено на 0.1.
  • Жесткость при столкновении: Определяет силу силы разделения между столкновениями частиц ткани, когда они находятся ближе, чем значение Расстояние. Значение является фактором, на который PhysX умножает силу разделения; затем решатель ткани рассчитывает жесткость на основе указанного вами значения. По умолчанию это значение установлено на 0.2.