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

Физика 2D ссылка

Следующие настройки Project управляют глобальными настройками Физики 2D, которые определяют пределы точности физики моделирования 2D GameObjects в физике системы Unity. Более точное моделирование требует большей нагрузки на обработку, и эти настройки позволяют вам настроить компромисс между точностью и производительностью, который лучше всего подходит для вашего проекта.

Для открытия окна настроек проекта Physics 2D перейдите в Изменить > Project Settings… > Физика 2D для управления глобальными настройками Project для Физика 2D

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

Физика 2D Inspector настройки
Физика 2D Inspector настройки

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

Ниже приведены свойства, доступные на вкладке Общие Настройки окна менеджера Физика 2D.

Свойство Функция
Гравитация Установить величину силы тяжести, применяемой ко всем Rigidbody 2D GameObjects. Обычно вы устанавливаете силу тяжести только для отрицательного направления оси y.
Материал по умолчанию Установить ссылку на Материал Физики 2D для использования, если ни один не был назначен отдельному Collider 2D.
Итерации скорости Установить количество итераций, выполняемых системой физики для разрешения эффектов скорости. Большие числа приводят к более точным физическим расчетам, но Редактор требует больше CPU времени.
Итерации позиций Установить число итераций, выполняемых системой физики для разрешения изменений позиции. Большие числа приводят к более точным физическим расчетам, но также требуют больше CPU времени.
Порог отскока Устанавливает порог для эластичных столкновений. Unity рассматривает любые столкновения с относительной линейной скоростью ниже этого порога как неупругие, так что отскок не произойдет.
Максимальная линейная коррекция Установить максимальную линейную коррекцию положения, используемую при решении ограничений (из диапазона от 0.0001 до 1000000). Это помогает предотвратить перезарядку.
Максимальная угловая коррекция Установить максимальную угловую коррекцию, используемую при решении ограничений (из диапазона от 0.0001 до 1000000). Это помогает предотвратить перезарядку.
Максимальная скорость перевода Установить максимальную линейную скорость Rigidbody 2D GameObject во время обновления физики.
Максимальная скорость вращения Установить максимальную скорость вращения Rigidbody 2D GameObject во время обновления физики.
Баумгарте Весы Устанавливает коэффициент масштабирования, определяющий, насколько быстро Unity разрешает коллизионные перекрытия.
Шкала времени удара Баумгарте Устанавливает коэффициент масштаба, определяющий, насколько быстро Unity разрешает перекрытия времени удара.
Время спать Задайте время (в секундах), которое должно пройти после того, как Rigidbody 2D перестанет двигаться, прежде чем он перейдет в спящий режим.
Линейная толерантность сна Установить линейную скорость, ниже которой Rigidbody 2D переходит в спящий режим после истечения Время спящего режима.
Угловой допуск спячки Установить скорость вращения, ниже которой Rigidbody 2D идет спать после Время спать истекает.
Смещение контакта по умолчанию Устанавливает значение расстояния близости для Коллайдеров, чтобы считать, что они контактируют, даже если они не контактируют. Коллайдеры, расстояние которых меньше суммы их значений contactOffset, генерируют контакты, что заставляет систему обнаружения столкновений предсказуемо применять ограничение контакта, даже если объекты немного отделены друг от друга.
Предупреждение: Слишком большое уменьшение этого значения может замедлить способность Unity рассчитывать непрерывные столкновения полигонов. Напротив, слишком большое увеличение этого значения может создать артефакты для столкновений вершин.
Режим моделирования Выберите, когда Unity выполняет физику 2D.
  • Fixed Update: Выберите эту опцию, чтобы Unity выполнял физику сразу после вызова MonoBehaviour.FixedUpdate.
  • Обновление: Выберите этот режим, чтобы Unity выполнял физические симуляции сразу после вызова MonoBehaviour.Update. При выборе этого режима, дополнительные свойства будут видны.
  • Сценарий: Выберите это, чтобы вручную выполнить физику моделирования через Physics2D.Simulate.
Слои моделирования Выберите layer(s) Unity имитирует, когда Режим моделирования установлен на FixedUpdate или Обновление.
  • По умолчанию выбрана опция Все, которая автоматически выбирает все слои и включает все их в физику моделирования.
  • Вы можете выбрать, какие конкретные layer(s) для включения в моделирование; и Unity будет только имитировать Rigidbody2D, joints, effectors, и контакты между Collider2D на этих выбранных слоях.
Запросы, попадающие в триггеры Включите эту опцию, если вы хотите, чтобы Collider 2Ds, помеченные как Триггеры, возвращали попадание, когда любой физический запрос (например, Linecasts или Raycasts) пересекается с ними. По умолчанию включено.
Запросы начинаются в коллайдерах Включите эту опцию, если вы хотите, чтобы физические запросы, начинающиеся внутри Collider 2D, обнаруживали Collider, в котором они начинаются.
Отключить обратные вызова Включите эту опцию для создания обратных вызовов коллизии, когда Collider с контактами отключен.
Повторное использование обратных вызовов столкновений Включите этот параметр, чтобы система физики повторно использовала один экземпляр Collision2D для всех обратных вызовов столкновений. Отключите, чтобы система физики создавала новый экземпляр Collision2D для каждого обратного вызова столкновений.
Автоматическая синхронизация преобразований Включите эту опцию для автоматической синхронизации изменений преобразований с системой физики.
Гизмос Выберите типы физических 2D гаджетов, которые будут отображаться в редакторе. Вы можете выбрать несколько вариантов.
  • Ничего: Выберите это, чтобы снять все параметры. Физика 2D не будет рисоваться.
  • Все: Выберите это, чтобы выбрать все варианты.
  • Все коллайдеры: Выберите это, чтобы нарисовать все коллайдеры без необходимости выбирать их в окне Hierarchy.
  • Colliders Outlined: Выберите это, чтобы Коллайдеры рисовались с контуром (вы можете настроить цвет контура в Настройки 2D Physics).
  • Коллайдеры заполнены: Выберите это, чтобы все коллайдеры рисовались с использованием цвета заполнения, указанного в 2D Физика Настройки.
  • Коллайдеры спят: Выберите эту опцию, чтобы Коллайдеры рисовались, когда Rigidbody 2D, к которому они присоединены, спят, используя цвета Будный или Спит, указанные в 2D Настройках Физики.
  • Collider Контакты: Выберите эту опцию, чтобы контакты Collider отображались как стрелка, начинающаяся в точке контакта в направлении нормали контакта. Вы можете указать цвет стрелки в 2D Настройках Физики.
  • Collider Границы: Выберите эту опцию, чтобы нарисовать границы Collider для всех PhysicsShape2D, созданных Collider. Границы представляют собой Ограничительные рамки, выравниваемые по осям (AABB).
Многопоточность См. Многопоточность для информации о каждом свойстве.

Режим моделирования: Обновление

Следующие свойства видны только при выборе Обновление или Сценарий для Режим Симулирования.

Свойства Режим симулирования с выбранным режимом Обновление.
Свойства Режим симулирования с выбранным режимом Обновление.
Свойство Функция
Используйте под ступеньку Включите это свойство, чтобы Редактор использовал подшаг симулирования во время этапа симулирования.
Используйте подсчет шага Включите это свойство, чтобы Редактор вычислял контакты для всех подшагов моделирования. Это обеспечивает более точное моделирование для каждого подшага, но снижает производительность. Отключите это свойство, чтобы вычислять контакты только для первого подшага моделирования.
Максимальное количество подшагов Задает максимальное количество подшагов симулирования, разрешенных на кадр, когда подшаг симулирования включён и активно работает. Это также ограничит время, которое Редактор тратит на подшаг.
Минимальный подшаг FPS Устанавливается минимальное количество кадров в секунду, разрешенное для шага симулирования, прежде чем Редактор начнет использовать суб-шаг. Когда текущая частота кадров ниже этого значения, Редактор будет использовать суб-шаг симулирования, если Использовать суб-шаг включено.

Многопоточность

Настройки в разделе Многопоточность позволяют использовать C# Систему Задач для настройки многопоточной физики.

Настройки многопоточности расширены.
Настройки многопоточности расширены.
Свойство Функция
Использование многопоточности Включите эту опцию, чтобы выполнить шаги моделирования с помощью системы заданий, и используйте остальные опции, чтобы управлять тем, как это сделать.
Использование сортировки по согласованности Включите эту опцию, если поддержание последовательного порядка обработки становится важным для симуляции.
Выполнение шагов симуляции на нескольких потоках CPU производит отдельные пакета данных. Обработка этих отдельных пакетов снижает детерминизм в порядке обработки, хотя и приводит к более быстрым результатам.
Позы интерполяции на задание Установить минимальное количество объектов Rigidbody 2D, интерполируемых в каждом задании моделирования.
Новые контакты на задание Установить минимальное количество новых контактов, которые будут найдены в каждом задании моделирования.
Количество контактов на задание Установить минимальное число контактов, которые должны столкнуться в каждом задании моделирования.
Чистые флаги на задание Задайте минимальное количество флагов, которые будут очищены в каждом задании моделирования.
Чистые силы тела на задание Установить минимальное число тел, подлежащих очистке в каждом задании моделирования.
Синхронизация дискретных приспособлений на задание Задайте минимальное число приспособлений для синхронизации в широкой фазе во время решения дискретных островов в каждом задании моделирования.
Синхронизация непрерывных креплений на задание Задайте минимальное количество приспособлений для синхронизации в широкой фазе во время непрерывного островного решения в каждом задании моделирования.
Найти ближайшие контакты для каждого задания Установить минимальное число ближайших контактов для поиска в каждом задании моделирования.
Обновление контактов триггеров для каждого задания Задайте минимальное количество контактов триггеров, обновляемых в каждом задании моделирования.
Порог стоимости островного решателя Установить минимальную пороговую стоимость всех тел, контактов и соединений в острове во время решения дискретного острова.
Масштаб стоимости тела острова Solver Установить шкалу затрат каждого тела во время решения дискретных островов.
Остров Солвер Контакт Шкала стоимости Устанавливает шкалу стоимости каждого контакта во время решения дискретных островов.
Совместная шкала расходов на решение островных проблем Установить шкалу затрат каждого соединения во время решения дискретных островов.
Остров Солвер Тела За Задание Установить минимальное число тел для решения в каждом задании моделирования при выполнении решения острова.
Контакты Солвера Острова на Задание Установить минимальное число контактов для решения в каждом задании моделирования при выполнении решения острова.

Вкладка Матрица столкновений слоев

Матрица столкновений слоев Настройки вкладки Матрицы столкновений слоев определяют, могут ли коллайдеры (присоединенные к разным Rigidbody 2D) контактировать друг с другом, в зависимости от слоя, назначенного GameObject, на котором они находятся. Матрица отображает каждый слой по отношению к каждому другому слою, позволяя вам выбрать, какие конкретные слои могут контактировать друг с другом.

Вкладка Матрица столкновений слоев.
Вкладка Матрица столкновений слоев.

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

Совет: Для оптимизации для наилучшей возможной производительности, вы должны убедиться, что только минимальное количество потенциальных контактов выбирается, выбирая только конкретные слои, которые вы хотите иметь контакт с другими, и отключая все другие ненужные контакты. Чтобы помочь с этим, вы можете выбрать Отключить все или Включить все для быстрого выбора или снятия выбора всех опций сразу. и затем выберите конкретные слои.

Вкладка Низкий уровень

Свойство Описание
Физика низкого уровня Назначает набор глобальных параметров для физических объектов и физики моделирования при использовании LowLevelPhysics2D API. Дополнительные сведения см. в Настройка глобальных параметров LowLevelPhysics2D API.

Дополнительные ресурсы

Physics2DManager