Physics2D
класс в UnityEngine
Выполнено в:UnityEngine.Physics2DModule
Описание
Предоставляет утилиты и глобальные настройки для управления и моделирования физических взаимодействий 2D, таких как обнаружение столкновений и рассеивание лучей.
Класс Physics2D предоставляет инструменты и глобальные настройки для моделирования взаимодействий 2D-физики — обнаружения столкновений и трассировки лучей. Он необходим для реалистичного физического поведения в 2D-играх, например в платформерах и головоломках.
Чтобы использовать Physics2D, настройте GameObjects с Collider2D-based и Rigidbody2D При использовании физики в сложных сценах следует помнить о потенциальном влиянии на производительность. Общие проблемы могут возникнуть из-за неправильной настройки компонентов, если это необходимо, и обеспечить правильную конфигурацию слоев и тегов для обнаружения столкновений и лучевой проекции. Collider2D-based или Rigidbody2D компонентов, поэтому понимание порядка обновления физики и применения силы важно для устранения неполадок.
Статические свойства
| Свойство | Описание |
|---|---|
| AllLayers | Константа маски слоя, которая включает все слои. |
| angularSleepTolerance | Rigidbody не может спать, если его угловая скорость превышает этот порог допуска. |
| baumgarteScale | Коэффициент масштаба, определяющий скорость разрешения пересечений. |
| baumgarteTOIScale | Коэффициент масштаба, который определяет, насколько быстро разрешаются перекрытия TOI. |
| bounceThreshold | Любые столкновения с относительной линейной скоростью ниже этого порогового значения будут рассматриваться как неэластичные, и поэтому отскок не произойдет. |
| callbacksOnDisable | Используйте это для управления тем, должны ли соответствующие обратные вызова OnCollisionExit2D или OnTriggerExit2D вызываться при отключении Collider2D. |
| contactThreshold | Пороговая величина, ниже которой контакт автоматически отключается. |
| defaultContactOffset | Смещение контакта по умолчанию для новых коллайдеров. |
| defaultPhysicsScene | PhysicsScene2D автоматически создается при запуске Unity. |
| DefaultRaycastLayers | Константа маски слоя, которая по умолчанию включает все слои, участвующие в отображении лучей. |
| gravity | Ускорение под действием силы тяжести. |
| IgnoreRaycastLayer | Константа маскировки слоя для слоя по умолчанию, который игнорирует лучовые отражения. |
| jobOptions | Набор параметров, которые управляют работой физики при использовании системы заданий для многопоточной физики моделирования. |
| linearSleepTolerance | Жесткое тело не может спать, если его линейная скорость превышает этот допуск. |
| maxAngularCorrection | Максимальная коррекция углового положения, используемая при решении ограничений. Это помогает предотвратить перекос. |
| maxLinearCorrection | Максимальная линейная коррекция положения, используемая при решении ограничений. Это помогает предотвратить перекос. |
| MaxPolygonShapeVertices | Максимальное количество вершин, разрешенных для типа формы примитивного многоугольника (PhysicsShapeType2D.Polygon). (Только для чтения) |
| maxRotationSpeed | Максимальная угловая скорость жесткого тела за обновление физики. Увеличение этого значения может вызвать проблемы с вычислениями. |
| maxSubStepCount | Максимальное количество подшагов симулирования, разрешенных на кадр, когда включено подшаговое симулирование. |
| maxTranslationSpeed | Максимальная линейная скорость жесткого тела за обновление физики. Увеличение этой величины может вызвать численные проблемы. |
| minSubStepFPS | Будет использован минимальный FPS, разрешенный для шага моделирования до подшага. |
| positionIterations | Число итераций физического решателя при рассмотрении положений объектов. |
| queriesHitTriggers | Обнаруживают ли raycasts коллайдеры, настроенные как триггеры? |
| queriesStartInColliders | Установить лучевой или линейный трансляции, которые начинаются внутри коллайдеров, чтобы обнаружить или не обнаружить эти коллайдеры. |
| reuseCollisionCallbacks | Определяет, должен ли сборщик мусора повторно использовать только один экземпляр типа Collision2D для всех обратных вызовов столкновений. |
| simulationLayers | Слои Rigidbody2D и Collider2D для имитации. |
| simulationMode | Управляет, когда Unity выполняет физику 2D. |
| timeToSleep | Время в секундах, в течение которого жесткое тело должно оставаться неподвижным, прежде чем оно перейдет в спящий режим. |
| useSubStepContacts | Рассчитывать ли контакты для всех подшагов моделирования или только для первого подшага. |
| useSubStepping | Использовать ли подшаговое моделирование во время этапа моделирования. |
| velocityIterations | Число итераций физического решателя при рассмотрении скоростей объектов. |
Статические методы
| Метод | Описание |
|---|---|
| BoxCast | Бросает коробку на Коллайдеры в Scene, возвращая первую Collider, которая соприкоснется с ней. |
| BoxCastAll | Бросает коробку на коллайдеры в Scene, возвращая все коллайдеры, которые контактируют с ней. |
| CapsuleCast | Бросает капсулу на коллайдеры в Scene, возвращая первого Collider, который соприкоснется с ней. |
| CapsuleCastAll | Бросает капсулу на коллайдеры в Scene, возвращая все коллайдеры, которые контактируют с ней. |
| CircleCast | Бросает круг на Коллайдеры в Scene, возвращая первого Collider, который с ним контактирует. |
| CircleCastAll | Бросает круг на коллайдеры в Scene, возвращая все коллайдеры, которые контактируют с ним. |
| ClosestPoint | Возвращает точку на периметре Collider, которая находится ближе всего к указанной позиции. |
| Distance | Рассчитывает минимальное расстояние между двумя коллайдерами. |
| GetContacts | Получает все коллайдеры в контакте с Collider. |
| GetIgnoreCollision | Проверяет, будет ли система обнаружения столкновений игнорировать все столкновения/триггеры между collider1 и collider2 или нет. |
| GetIgnoreLayerCollision | Проверяет, следует ли игнорировать столкновения между указанными слоями. |
| GetLayerCollisionMask | Получить маску слоя столкновения, которая указывает, с каким layer(s) слоем может столкнуться указанный слой. |
| GetRayIntersection | Запустите 3D луч в 2D коллайдеры в Scene. |
| GetRayIntersectionAll | Запустите 3D луч в 2D коллайдеры в Scene. |
| IgnoreCollision | Заставляет систему обнаружения столкновений игнорировать все столкновения/триггеры между collider1 и collider2. |
| IgnoreLayerCollision | Выберите, обнаруживать или игнорировать столкновения между указанной парой слоев. |
| IsTouching | Проверяет, контактируют ли проходящие коллайдеры или нет. |
| IsTouchingLayers | Проверяет, касается ли Collider каких-либо коллайдеров на указанном layerMask или нет. |
| Linecast | Запускает сегмент линии против коллайдеров в Scene. |
| LinecastAll | Бросает линию против Коллайдеров в Scene. |
| OverlapArea | Проверяет, находится ли Collider в прямоугольной области. |
| OverlapAreaAll | Получить список всех коллайдеров, которые находятся в прямоугольной области. |
| OverlapBox | Проверяет, находится ли Collider в пределах области коробки. |
| OverlapBoxAll | Получить список всех коллайдеров, которые находятся в пределах определенной области. |
| OverlapCapsule | Проверяет, находится ли Collider в пределах зоны капсулы. |
| OverlapCapsuleAll | Получить список всех коллайдеров, которые находятся в зоне капсулы. |
| OverlapCircle | Проверяет, находится ли Collider в круговой области. |
| OverlapCircleAll | Получить список всех коллайдеров, которые находятся в круговой области. |
| OverlapCollider | Получает список всех коллайдеров, которые перекрывают заданные Collider. |
| OverlapPoint | Проверяет, перекрывает ли Collider точку в пространстве. |
| OverlapPointAll | Получить список всех коллайдеров, которые перекрывают точку в пространстве. |
| Raycast | Бросает луч на коллайдеры в Scene. |
| RaycastAll | Бросает луч на коллайдеры в Scene, возвращая все коллайдеры, которые контактируют с ним. |
| SetLayerCollisionMask | Устанавливает маску столкновения слоев, которая указывает, с каким layer(s) слоем может столкнуться указанный слой. |
| Simulate | Моделирование физики в стандартной сцене физики. |
| SyncTransforms | Синхронизирует. |