Приветствую всех друзья! В прошлой статье я рассказал о настройках физики для 3D проектов в окне настроек проекта. Сегодня я продолжу цикл статей о настройках проекта, и на очереди у нас вкладка настройки физики для 2D проектов.
Используйте настройки 2D физики (находятся в окне настроек проекта по пути Edit\Project Settings, вкладка Physics 2D), чтобы применить глобальные настройки для 3D физики.
Настройки Physics2D определяют пределы точности физического моделирования. Вообще говоря, более точное моделирование требует больших затрат на обработку, поэтому эти настройки предлагают способ обменять точность на производительность.
- Gravity - Установите величину силы тяжести, применяемой ко всем двумерным игровым объектам с компонентом Rigidbody2D. Как правило, вы устанавливаете гравитацию только для отрицательного направления оси Y.
- Default Material - Установите ссылку на физический материал PhysicsMaterial2D для использования по умолчанию, если ни один из них не был назначен отдельному Collider2D.
- Velocity Iterations - установите число итераций, выполняемых физическим движком для разрешения эффектов скорости. Более высокие числа приводят к более точной физике, но за счет процессорного времени.
- Position Iterations - установите количество итераций, выполняемых физическим движком для разрешения изменений положения. Более высокие числа приводят к более точной физике, но за счет процессорного времени.
- Velocity Threshold - установите пороговое значение для упругих столкновений. Unity рассматривает столкновения с относительной скоростью ниже этого значения как неупругие столкновения (то есть сталкивающиеся игровые объекты не отскакивают друг от друга).
- Max Linear Correction - установите максимальную линейную коррекцию положения, используемую при решении ограничений (от 0,0001 до 1000000). Это помогает предотвратить промахи.
- Max Angular Correction - установите максимальную угловую поправку, используемую при решении ограничений (от 0,0001 до 1000000). Это помогает предотвратить промахи.
- Max Translation Speed - установите максимальную линейную скорость игрового объекта с компонентом RigidBody2D при любом обновлении физики.
- Max Rotation Speed - установите максимальную скорость вращения игрового объекта с компонентом RigidBody2D при любом обновлении физики.
- Baumgarte Scale – установите коэффициент масштаба, определяющий, как быстро Unity разрешает наложение коллизий.
- Baumgarte Time of Impact Scale - установите коэффициент масштаба, определяющий, как быстро Unity разрешает перекрытия времени воздействия.
- Time to Sleep - время (в секундах), которое должно пройти после того, как Rigidbody2D перестанет двигаться, прежде чем он заснет.
- Linear Sleep Tolerance - установите линейную скорость, ниже которой Rigidbody2D переходит в спящий режим после истечения времени сна.
- Angular Sleep Tolerance - Установите скорость вращения, ниже которой Rigidbody2D переходит в спящий режим после истечения времени сна.
- Default Contact Offset - установите значение расстояния близости для коллайдеров, которые будут считаться контактирующими, даже если они фактически не находятся в контакте. Коллайдеры, расстояние между которыми меньше суммы их значений смещения контактов, генерируют контакты. Это позволяет системе обнаружения столкновений прогнозировать и применять ограничение контакта даже при незначительном разделении объектов. Слишком большое уменьшение этого значения может подорвать способность Unity вычислять непрерывные полигональные коллизии. И наоборот, слишком большое увеличение значения может создать артефакты для столкновения вершин.
- Auto Simulation - включите этот параметр, чтобы автоматически запускать физическую симуляцию или разрешить явное управление ею.
- Queries Hit Triggers - включите эту опцию, если вы хотите, чтобы Collider2D, отмеченный как триггер, возвращал попадание, когда любой физический запрос (например, LineCast или RayCast) пересекается с ними. По умолчанию включено.
- Queries Start In Colliders - включите эту опцию, если вы хотите, чтобы физические запросы, которые начинаются внутри Collider2D, обнаруживали коллайдер, в котором они начинаются.
- Callbacks On Disable - включите эту опцию, чтобы производить обратные вызовы столкновений, когда коллайдер с контактами отключен.
- Auto Sync Transforms - включите эту опцию, чтобы автоматически синхронизировать изменения преобразования (Transform) с физической системой.
- Layer Collision Matrix - определите, как ведет себя система обнаружения столкновений на основе слоев. Выберите, какие слои матрицы столкновений взаимодействуют с другими слоями, проверив их.
Настройки Job options (Experimental).
Параметры данных настроек позволяют настроить использование системы Job System для настройки многопоточной физики.
- Use Multithreading - включите этот параметр для выполнения шагов моделирования (simulation) физики с помощью системы заданий (Job System) и используйте остальные параметры (описанные ниже) для управления тем, как это сделать.
- Use Consistency Sorting - включите этот параметр, если поддержание согласованного порядка обработки становится важным для моделирования. Выполнение шагов моделирования на нескольких потоках ЦП приводит к получению отдельных пакетов данных. Обработка этих отдельных пакетов уменьшает детерминизм в порядке обработки, хотя и дает более быстрые результаты.
- Interpolation Poses Per Job - установите минимальное количество игровых объектов с компонентов RigidBody2D, интерполируемых в каждом задании моделирования (simulation job).
- New Contacts Per Job - установите минимальное количество новых контактов для поиска в каждом задании моделирования.
- Collide Contacts Per Job - установите минимальное количество контактов для столкновения в каждом задании моделирования.
- Clear Flags Per Job - установите минимальное количество флагов, которые будут очищены в каждом задании моделирования.
- Clear Body Forces Per Job - установите минимальное количество тел, очищаемых в каждом задании моделирования.
- Sync Discrete Fixtures Per Job - установите минимальное количество приспособлений для синхронизации в широкой фазе при решении дискретных островков в каждом задании моделирования.
- Sync Continuous Fixtures Per Job - установите минимальное количество приспособлений для синхронизации в широкой фазе при непрерывном решении островков в каждом задании моделирования.
- Find Nearest Contacts Per Job - установите минимальное количество ближайших контактов для поиска в каждом задании моделирования.
- Update Trigger Contacts Per Job - установите минимальное количество контактов триггера для обновления в каждом задании моделирования.
- Island Solver Cost Threshold - установите минимальную пороговую стоимость всех тел, контактов и соединений в островке при дискретном решении островка.
- Island Solver Body Cost Scale - установите шкалу затрат для каждого тела при решении дискретного острова.
- Island Solver Contact Cost Scale - установите шкалу стоимости каждого контакта при решении дискретных островков.
- Island Solver Joint Cost Scale - установите шкалу затрат для каждого соединения во время дискретного островного решения.
- Island Solver Bodies Per Job - установите минимальное количество тел для решения в каждом задании моделирования при выполнении островного решения.
- Island Solver Contacts Per Job - установите минимальное количество контактов для решения в каждом задании моделирования при выполнении островного решения.
Настройки Gizmos.
- Always Show Colliders - включите эту опцию, чтобы показывать gizmos коллайдера, даже если они не выбраны.
- Show Collider Sleep - включите эту опцию, чтобы показать состояние сна для каждого коллайдера.
- Collider Awake Color - установите цвет, указывающий на то, что коллайдер (тело) находится в состоянии бодрствования.
- Collider Asleep Color - установите цвет, чтобы показать, что коллайдер (тело) спит.
- Show Collider Contacts - включите эту опцию, чтобы показать текущие контакты для каждой gizmo.
- Contact Arrow Scale - установите размер контактной стрелки, которая появляется на gizmo коллайдера.
- Collider Contact Color - установите цвет gizmo, чтобы указать контакт коллайдера.
- Show Collider AABB - включите эту опцию, чтобы показать ограничивающую рамку коллайдера.
- Collider AABB Color - установите цвет gizmo для ограничительной коробки коллайдера.
На сегодня это все. Следующая статья будет посвящена вкладке Player в окне настроек проекта в Unity. Спасибо всем, кто дочитал эту статью до конца, подписывайтесь на канал, ставьте лайки, а для тех, у кого появились вопросы - спрашивайте в комментариях! А если вы хотите помочь данному каналу в развитии – делитесь этой статьей с друзьями в социальных сетях!