Справочник по окну Physics Debug
С помощью окна Physics Debug настраивают и формируют визуальные представления работы 3D-физики в сцене. Эти визуализации отображаются в Представление Scene.
Чтобы открыть окно Physics Debug в Unity Editor, перейдите в Window > Analysis > Physics Debugger.
Physics Debugger вставляет Панель отладки физики в окне Scene и открывает окно Physics Debug со следующими вкладками:
- Info: отслеживание сведений о Rigidbody и Articulation Body. Здесь же находится визуализация центра масс и тензора инерции.
- Filtering: определяет, какие физические объекты следует показывать.
- Rendering: настройки, определяющие, как Unity отрисовывает и отображает визуализацию физики.
- Contacts: выберите, нужно ли визуализировать контакты.
- Queries: выберите, нужно ли визуализировать запросы.
Чтобы вернуть окно Physics Debug к настройкам по умолчанию, выберите Reset.
Подробнее о повышении производительности физики в проекте см. в документации по Physics Profiler.
Панель отладки физики
Когда в Unity открыто окно Physics Debug, в окне Scene появляется панель Physics Debug. По умолчанию она располагается в правом нижнем углу окна Scene, но её можно перетащить в другое место.
| Property | Description |
|---|---|
| Collision Geometry | Enable Collision Geometry чтобы визуализировать сведения о столкновениях в окне Scene. Отключите Collision Geometry чтобы скрыть сведения о столкновениях в окне Scene. |
| Mouse Select | Enable Mouse Select чтобы включить подсветку при наведении и выбор мышью. Это удобно, когда крупные GameObject заслоняют друг друга в визуализации. |
Info
The Info вкладка содержит данные о выбранном Rigidbody or ArticulationBody GameObject. По этим данным можно наблюдать за поведением физического тела. Изменять значения свойств на этой вкладке нельзя. Их можно менять из скрипта, но это не рекомендуется: в большинстве случаев вместо этого следует прикладывать силы через физическую систему.
Чтобы конкретный GameObject постоянно оставался закреплённым в Info вкладку, включите Lock для этого GameObject. Закрепить можно сколько угодно объектов. Используйте Количество элементов в строке свойство, чтобы расположить Info вкладке так, как вам удобнее ориентироваться.
На вкладке Info всегда отображаются следующие свойства.
| Property | Description |
|---|---|
| Количество элементов в строке | Задайте, сколько выделенных GameObject отображать по горизонтали в верхней строке Info tab. По умолчанию, если вы выделяете или закрепляете несколько GameObject, Unity показывает их все по вертикали. Однако их можно расположить и горизонтально. Используйте Количество элементов в строке чтобы задать, сколько GameObject отображать рядом друг с другом в одной горизонтальной строке — максимум 10. Если число выделенных или закреплённых GameObject превышает это значение, недавно выделенные объекты переносятся на новую строку под первой. GameObject всегда отображаются в Info вкладке в порядке выделения. Значение этого свойства по умолчанию — 1. |
| Отслеживаемые объекты | Показывает общее количество уникальных GameObject, которые сейчас присутствуют в Info вкладке. Сюда входят выделенные и закреплённые GameObject. Дубликаты не учитываются. |
| Очистить заблокированные объекты | Select Очистить заблокированные объекты чтобы отключить Lock для всех GameObject. Это убирает любые GameObject из Info вкладке, которые ещё не выделены в окне Hierarchy. |
The Info вкладка показывает следующие свойства, когда в окне Hierarchy выбран GameObject с физическим телом (то есть Rigidbody or an ArticulationBody).
| Property | Description |
|---|---|
| GameObject | Показывает имя выделенного или закреплённого GameObject, к которому относятся следующие свойства. |
| Draw Gizmos for | Выберите, для какого физического свойства Physics Debug должен показывать гизмо. |
| - Center of Mass | Показывать гизмо, обозначающее положение глобального центра масс физического тела (см. World Center of Mass). |
| - Inertia Tensor | Показывать гизмо, обозначающее поворот и масштаб тензора инерции физического тела (см. Inertia Tensor). |
| Lock | Enable Lock чтобы сохранить GameObject в Info вкладке, даже если он не выбран в окне Hierarchy. |
| Speed | Скорость движения физического тела, измеряемая в метрах в секунду (м/с). |
| Velocity | Скорость физического тела по каждой оси, измеряемая в метрах в секунду (м/с). |
| Angular Velocity | Скорость физического тела по каждой оси, измеряемая в градусах в секунду. |
| Inertia Tensor | Тензор инерции этого физического тела. Как и масса, тензор инерции определяет, сколько силы или момента нужно, чтобы привести тело в движение; но если масса влияет на линейное движение, то тензор инерции — на вращательное. Чем выше Inertia Tensor значение, тем больший момент требуется, чтобы физическое тело повернулось вокруг своей оси. |
| Inertia Tensor Rotation | Поворот тензора инерции. По умолчанию Unity вычисляет его автоматически на основе всех коллайдеров, прикреплённых к физическому телу. |
| Local Center of Mass | Локальное положение центра масс физического тела по каждой оси. Чтобы изменить центр масс из скрипта, используйте centerOfMass. Unity также может изменить это значение в зависимости от расположения коллайдера. |
| World Center of Mass | Глобальное положение центра масс физического тела по каждой оси. Чтобы изменить центр масс из скрипта, используйте worldCenterOfMass. Unity также может изменить это значение в зависимости от расположения коллайдера. |
| Sleep State | Состояние сна физического тела. Отображает Awake если физическое тело активно и участвует в расчётах физики. Отображает Asleep если физическое тело спит и не участвует в расчётах физики. |
| Sleep Threshold | Порог энергии для физического тела, ниже которого физический движок перестаёт включать его в обновления физики. По умолчанию это Sleep Threshold значение, заданное в глобальные настройки Physics. |
| Max Linear Velocity | Максимальная линейная скорость, которой может достичь физическое тело; задаётся через maxLinearVelocity. |
| Max Angular Velocity | Максимальная скорость вращения, которой может достичь физическое тело; задаётся через maxAngularVelocity. |
| Solver Iterations | Количество итераций, которые решателю физической системы нужно выполнить для этого физического тела. |
| Solver Velocity Iteration | Количество итераций по скорости, которые решателю физической системы нужно выполнить для этого физического тела. Они приближают скорость расхождения перекрывающихся GameObject к правильному значению с учётом упругости контакта. |
| Body Index | Индекс Articulation Body в дереве. Это свойство отображается только для Articulation Body. |
Filtering
The Filtering вкладка содержит свойства, задающие, какие элементы физики отображаются в визуализации Physics Debug.
| Property | Description |
|---|---|
| Show Physics Scene | Выберите, какие физические сцены включить в визуализацию, если у вас есть несколько физических сцен загружено одновременно. |
| Show Unity Scene | Выберите, какие сцены Unity включить в визуализацию, если у вас есть несколько сцен загружено одновременно. |
| Show Layers | Выберите, какой Layers для отображения в визуализации. |
| Show Static Colliders | Enable Show Static Colliders чтобы отображать визуализацию для коллайдеров без компонента Rigidbody. Отключите Show Static Colliders чтобы убрать визуализацию коллайдеров без компонента Rigidbody. |
| Show Triggers | Enable Show Triggers чтобы отображать визуализацию для коллайдеров, являющихся триггерами. Отключите Show Triggers чтобы убрать визуализацию коллайдеров, являющихся триггерами. |
| Show Rigidbodies | Enable Show Rigidbodies чтобы отображать визуализацию для Rigidbody components. Disable Show Rigidbodies чтобы убрать визуализацию компонентов Rigidbody. |
| Show Kinematic Bodies | Enable Show Kinematic Bodies чтобы отображать визуализацию для коллайдеров с кинематическими компонентами Rigidbody. Отключите Show Kinematic Bodies чтобы убрать визуализацию коллайдеров с кинематическими компонентами Rigidbody. |
| Show Articulation Bodies | Enable Show Articulation Bodies чтобы отображать визуализацию для ArticulationBody components. Disable Show Articulation Bodies чтобы убрать визуализацию компонентов ArticulationBody. |
| Show Sleeping Bodies | Enable Show Sleeping Bodies чтобы отображать визуализацию для коллайдеров со спящими компонентами Rigidbody. Отключите Show Sleeping Bodies чтобы убрать визуализацию коллайдеров со спящими компонентами Rigidbody. |
| Collider Types | Эти параметры позволяют показывать в визуализации физики коллайдеры определённых типов. |
| - Show BoxColliders | Enable Show BoxColliders чтобы отображать визуализацию для Box Colliders. Disable Show BoxColliders чтобы убрать визуализацию Box Collider. |
| - Show SphereColliders | Enable Show SphereColliders чтобы отображать визуализацию для Sphere Colliders. Disable Show SphereColliders чтобы убрать визуализацию Sphere Collider. |
| - Show CapsuleColliders | Enable Show CapsuleColliders чтобы отображать визуализацию для Capsule Colliders. Disable Show CapsuleColliders чтобы убрать визуализацию Capsule Collider. |
| - Показывать MeshCollider (выпуклые) | Enable Показывать MeshCollider (выпуклые) чтобы отображать визуализацию для Mesh Colliders у которых Is Convex свойство включено. Отключите Показывать MeshCollider (выпуклые) чтобы убрать визуализацию Mesh Collider, у которых Is Convex property enabled. |
| - Показывать MeshCollider (вогнутые) | Enable Показывать MeshCollider (вогнутые) чтобы отображать визуализацию для Mesh Colliders у которых Is Convex свойство отключено. Отключите Показывать MeshCollider (вогнутые) чтобы убрать визуализацию Mesh Collider, у которых Is Convex property disabled. |
| - Show TerrainColliders | Enable Show TerrainColliders чтобы отображать визуализацию для Terrain Colliders. Disable Show TerrainColliders чтобы убрать визуализацию Terrain Collider. |
| - Show None | Select Show None чтобы сбросить все критерии фильтрации и убрать из визуализации все коллайдеры. |
| - Show All | Select Show All чтобы включить все фильтры и отображать визуализацию для всех коллайдеров. |
Rendering
The Rendering вкладка содержит свойства, задающие, как Unity отрисовывает и отображает визуализацию физики.
| Property | Description |
|---|---|
| Static Colliders | Выберите цвет, которым в визуализации будут обозначены статические коллайдеры (коллайдеры без компонента Rigidbody). |
| Triggers | Выберите цвет, которым в визуализации будут обозначены коллайдеры, одновременно являющиеся триггерами. |
| Rigidbodies | Выберите цвет, которым будет обозначаться Rigidbody компоненты в визуализации. |
| Kinematic Bodies | Выберите цвет, которым в визуализации будут обозначены кинематические компоненты Rigidbody. Физическая система такими компонентами не управляет. |
| Articulation Bodies | Выберите цвет, которым будет обозначаться Компоненты Articulation Body в визуализации. |
| Sleeping Bodies | Выберите цвет, которым в визуализации будут обозначены спящие компоненты Rigidbody (те, что сейчас не участвуют в работе физического движка). |
| Variation | Задайте, насколько выбранные цвета смешиваются со случайным цветом. Это помогает визуально различать коллайдеры по цвету и видеть структуру GameObject. Значение лежит в диапазоне от 0 до 1; по умолчанию — 0.15. |
| Transparency | Задайте прозрачность отрисовываемой геометрии столкновений в визуализации. Значение лежит в диапазоне от 0 до 1; по умолчанию — 0.5. |
| Force Overdraw | Enable Force Overdraw чтобы геометрия коллайдеров отображалась в визуализации поверх геометрии рендеринга. Это удобно, когда геометрия рендеринга заслоняет визуализацию коллайдеров. Отключите Force Overdraw чтобы отображать геометрию коллайдеров так, как она выглядит относительно камеры. |
| View Distance | Задайте дальность видимости визуализации. По умолчанию — 1000. Значение измеряется в единицах, которые в Unity по умолчанию принимаются равными 1 м. |
| Terrain Tiles Max | Задайте максимальное количество Terrain тайлов в визуализации. По умолчанию — 60. |
| Настройки гизмо | Настройте гизмо Physics Debug, которые Info tab controls. |
| - Постоянный размер на экране | Enable Постоянный размер на экране чтобы гизмо Physics Debug выглядели на экране одинакового размера на любом расстоянии от камеры. Отключите Постоянный размер на экране чтобы размер гизмо менялся вместе с перспективой. |
| - Масштаб тензора инерции | Задайте значение, на которое умножается вектор 3 тензора инерции. Это удобно, когда тензор инерции особенно велик — например, если нужно рассмотреть и оценить соотношение компонентов вектора. |
Contacts
The Contacts вкладка содержит свойства, задающие, какие данные о контактах отображаются в визуализации Physics Debug и какими цветами обозначаются разные типы контактов.
| Property | Description |
|---|---|
| Show Contacts | Enable Show Contacts чтобы отображать визуализацию контактов. |
| - Show All Contacts | Enable Show All Contacts чтобы в визуализации Physics Debug отображались все данные о контактах столкновений. Отключите Show All Contacts чтобы ограничить объём данных о контактах, отображаемых в визуализации Physics Debug. When Show All Contacts отключён, в визуализации отображаются только следующие контакты: - Коллайдеры с MonoBehaviour скрипты, получающие сообщения от OnCollisionEnter, OnCollisionSay, or OnCollisionExit — Коллайдеры, у которых providesContact свойство равно true. |
| - Show Impulse | Enable Show Impulse чтобы в визуализации отображалась стрелка, обозначающая импульс в точке контакта. Отключите Show Impulse чтобы убрать визуализацию импульса. |
| - Show Separation | Enable Show Separation чтобы в визуализации отображались отрезок и диск, обозначающие зазор в точке контакта. Отключите Show Separation чтобы убрать визуализацию зазора. |
| - Использовать настройки фильтрации | Enable Использовать настройки фильтрации чтобы использовать настройки из Filtering вкладку, чтобы отфильтровать визуализацию входящих контактов. Отключите Использовать настройки фильтрации чтобы использовать только настройки из Contacts tab. |
| Цвета контактов | Выберите цвета, которыми Unity будет обозначать данные о контактах столкновений в визуализации. |
| Использовать разные цвета | Enable Использовать разные цвета чтобы для каждой контактирующей пары коллайдеров использовались случайные цвета. Отключите Использовать разные цвета чтобы использовать три цвета, заданные в следующих свойствах (Цвет контакта, Цвет разделения контакта, and Цвет импульса контакта). |
| Цвет контакта | Выберите цвет для обозначения контакта. В визуализации он показан стрелкой, которая начинается в точке контакта и направлена вдоль нормали контакта. |
| Цвет разделения контакта | Выберите цвет для обозначения зазора контакта. В визуализации он показан отрезком и диском. |
| Цвет импульса контакта | Выберите цвет для обозначения импульса контакта. В визуализации он показан стрелкой, направленной вдоль нормали, длина которой равна величине импульса. |
Queries
The Queries вкладка содержит свойства, задающие, какие типы запросов отображаются в визуализации Physics Debug и как именно. О запросах PhysX см. документацию NVIDIA PhysX по теме Scene Queries and Geometry Queries.
| Property | Description |
|---|---|
| Показывать запросы | Enable Показывать запросы чтобы отображать визуализацию физических запросов. |
| Цвет запроса | Выберите цвет, которым Unity будет обозначать физические запросы в визуализации. |
| Показывать фигуры | Выберите, какие формы запросов показывать в визуализации Physics Debug. Включите форму, чтобы запросы такой формы отображались в визуализации; отключите — чтобы убрать их оттуда. Доступные варианты: - Box-shape queries - Capsule-shape queries - Collider-shape queries - Ray-shape queries |
| Показывать типы | Выберите, какие типы запросов показывать в визуализации. Включите тип, чтобы запросы этого типа отображались в визуализации; отключите — чтобы убрать их оттуда. О типах запросов PhysX см. документацию NVIDIA PhysX по теме Geometry Queries. Доступные варианты: - Overlap queries - Check queries - Cast queries |
| Max Queries | Задайте максимальное количество запросов, которые Physics Debug может визуализировать одновременно. По умолчанию — 100. |
| Show None | Select Show None чтобы сбросить все критерии фильтрации и убрать из визуализации все формы и типы запросов. |
| Show All | Select Show All чтобы включить все фильтры и показать в визуализации все формы и типы запросов. |