Физика Profiler модуль
Модуль Physics Profiler отображает информацию о физике, которую система физики обработала в сцене вашего проекта. Эта информация может помочь вам диагностировать и решить проблемы производительности или неожиданные расхождения, связанные с физикой в сцене вашего проекта. Вы также можете использовать Physics Debug Visualization для дальнейшей отладки и понимания проблем с физикой в вашем приложении.
Чтобы открыть окно Profiler, перейдите в меню: Окно > Анализ > Profiler. Более подробную информацию об использовании окна Profiler см. в Начало работы с окном Profiler.
Категории диаграмм
Диаграмма модуля Physics Profiler отслеживает время, которое ваше приложение тратит на физику. Время делится на различные категории диаграмм:
| Диаграмма | Функция |
|---|---|
| Физика Используемая память | Общий объем памяти, использованный физическим модулем. |
| Активные динамические тела | Число Rigidbody компоненты и ArticulationBody компоненты, которые не в сон state. |
| Активные кинематические тела | Число активных компонентов Kinematic Rigidbody. Kinematic Rigidbody активен, когда MovePosition или MoveRotation вызван в кадре, и остается активным в следующем кадре. Примечание: Unity может обрабатывать Kinematic Rigidbody компоненты, которые имеют соединения, присоединенные несколько раз в кадре, и это влияет на отображаемое значение. |
| Динамические тела | Количество компонентов Rigidbody и компонентов ArticulationBody. |
| Наложения | Количество событий перекрытия. colliders перекрываются друг с другом. |
| Наложение триггеров | Число перекрывающихся событий с коллайдерами-триггерами (считывается в парах). |
| Дискретные перекрытия | Количество событий перекрытия, для разрешения которых Unity использовал дискретное обнаружение столкновений. |
| Непрерывное перекрытие | Число событий перекрытия, для разрешения которых Unity использовал непрерывное обнаружение столкновений. |
| Физика Запросы | Общее количество физических запросов, таких как Raycasts и shapecasts. |
Чтобы изменить порядок категорий в диаграмме, вы можете перетащить их в легенде диаграммы. Вы также можете щелкнуть цветную легенду категории, чтобы переключить ее отображение. Когда вы щелкнете на диаграмме, вы можете увидеть точные числовые значения каждой категории диаграммы в панели деталей модуля.
Панель сведений о модуле
Когда вы нажимаете на модуль Physics Profiler, панель деталей модуля отображает дополнительную информацию о физике в сцене вашего проекта.
| Статистика | Описание |
|---|---|
| Физика Используемая память | Общий объем памяти, использованный физическим модулем. |
| Динамические тела | Количество компонентов Rigidbody и компонентов ArticulationBody. |
| Сочленения | Количество компонентов ArticulationBody в сцене |
| Активные динамические тела | Число Rigidbody компоненты и ArticulationBody компоненты, которые не в сон state.. |
| Активные кинематические тела | Число активных компонентов Kinematic Rigidbody. Kinematic Rigidbody активен, когда MovePosition или MoveRotation вызван в кадре, и остается активным в следующем кадре. Примечание: Unity может обрабатывать Kinematic Rigidbody компоненты, которые имеют соединения, присоединенные несколько раз в кадре, и это влияет на отображаемое значение. |
| Статические коллайдеры | Количество colliders, которые не имеют компонента Rigidbody или ArticulationBody |
| Коллайдеры Синхронизированы | Количество коллайдеров, синхронизированных с Transforms. |
| Жесткие кузова Синхронизировано | Количество компонентов Rigidbody, синхронизированных с Transforms. |
| Физика Запросы | Общее количество физических запросов, таких как Raycasts и shapecasts. |
| Итого, дублирование | Количество перекрывающихся событий. Перекрывающееся событие происходит, когда коллайдеры перекрываются друг с другом. События подразделяются на следующие категории:
|
| Широкофазная добавляет/убирает | Общее число коллайдеров, используемых широкофазный алгоритм либо добавлены, либо исключены. |
| Узкофазные клавишные | Общее количество столкновений, которые были либо потеряны, либо появились как новые после предыдущего кадра. |
Числа, отображаемые в Profiler, могут не соответствовать точному количеству GameObjects с физическими компонентами в вашем Scene. Это происходит потому, что Unity обрабатывает некоторые физические компоненты с разной скоростью в зависимости от того, какие другие компоненты влияют на него (например, присоединен компонент Joint). Чтобы рассчитать точное количество GameObjects с определенными физическими компонентами, вы должны написать пользовательский скрипт с функцией FindObjectsOfType.
Модуль Физики Profiler не отображает количество спящих Rigidbody компонентов. Это компоненты, которые не взаимодействуют с системой физики, поэтому Profiler не обрабатывает их. Для получения дополнительной информации о спящих Rigidbody компонентах, см. документацию по Rigidbody.
Модуль физики Profiler
Вы можете переключиться в режим Устаревшие, чтобы увидеть старую версию модуля Physics Profiler, который был модулем по умолчанию в старых версиях Unity. Для этого выберите Устаревшие из раскрывающегося меню в правом верхнем углу панели деталей модуля Physics Profiler.
В этом режиме вы можете загрузить и проверить данные Profiler, которые были сохранены в более старой версии Unity. Если вы переключитесь в этот режим для проверки данных, полученных в более новой версии Unity, то отображаемые данные будут ненадежными и неточными. Вы всегда должны использовать режим Текущий для проверки новых данных Физики Profiler.
| Статистика | Описание |
|---|---|
| Активный Динамический | Число активных некинематических Rigidbody компонентов. Активный Rigidbody один, который не является спящие. |
| Активная кинематическая | Количество активных компонентов Kinematic Rigidbody. Kinematic Rigidbody активен, когда MovePosition или MoveRotation вызван в кадре, и остается активным в следующем кадре. Примечание: Unity может обрабатывать Kinematic Rigidbody компоненты, которые имеют соединения, присоединенные несколько раз в кадре, и это влияет на отображаемое значение. |
| Статические коллайдеры | Число компонентов Collider на GameObjects, которые не имеют компонентов Rigidbody, прикрепленных к GameObjects или их родительскому GameObjects. Collider компоненты на GameObjects или родительском GameObjects, которые имеют компоненты Rigidbody, не считаются статическими коллайдерами. Они называются совместными коллайдерами. Совместные коллайдеры располагают несколько коллайдеров тела удобным образом, вместо того, чтобы иметь все коллайдеры на том же GameObject, что и компонент Rigidbody. |
| Rigidbody | Количество компонентов Rigidbody, обработанных физической системой, независимо от того, находится компонент в спящем состоянии или нет. |
| Наложение триггеров | Число перекрывающихся триггеров (считывается парами). |
| Активные ограничения | Число примитивных ограничений, обработанных системой физики. Ограничения используются в качестве строительного блока Joints, а также для реагирования на столкновения. Например, ограничение линейной или вращающейся степени свободы ConfigurableJoint включает примитивное ограничение для каждого ограничения. |
| Контакты | Общее количество контактных пар между всеми коллайдерами в Scene, включая количество пар перекрывающихся триггеров. Контакт — это пара коллайдеров, которые либо соприкасаются, либо перекрываются. Примечание: Unity создает контактные пары для пары Collider, когда расстояние между ними падает ниже определенного настраиваемого пользователем предела. Таким образом, вы можете видеть контакты, созданные для компонентов Rigidbody, которые еще не соприкасаются или не перекрываются. См. документацию по Collider.contactOffset и ContactPoint.separation для более подробной информации. |