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

Physics2D

класс в UnityEngine

Выполнено в:UnityEngine.Physics2DModule

Описание

Предоставляет утилиты и глобальные настройки для управления и моделирования физических взаимодействий 2D, таких как обнаружение столкновений и рассеивание лучей.

Класс Physics2D предоставляет инструменты и глобальные настройки для моделирования взаимодействий 2D-физики — обнаружения столкновений и трассировки лучей. Он необходим для реалистичного физического поведения в 2D-играх, например в платформерах и головоломках.

Чтобы использовать Physics2D, настройте GameObjects с Collider2D-based и Rigidbody2D При использовании физики в сложных сценах следует помнить о потенциальном влиянии на производительность. Общие проблемы могут возникнуть из-за неправильной настройки компонентов, если это необходимо, и обеспечить правильную конфигурацию слоев и тегов для обнаружения столкновений и лучевой проекции. Collider2D-based или Rigidbody2D компонентов, поэтому понимание порядка обновления физики и применения силы важно для устранения неполадок.

Статические свойства

Свойство Описание
AllLayersКонстанта маски слоя, которая включает все слои.
angularSleepToleranceRigidbody не может спать, если его угловая скорость превышает этот порог допуска.
baumgarteScaleКоэффициент масштаба, определяющий скорость разрешения пересечений.
baumgarteTOIScaleКоэффициент масштаба, который определяет, насколько быстро разрешаются перекрытия TOI.
bounceThresholdЛюбые столкновения с относительной линейной скоростью ниже этого порогового значения будут рассматриваться как неэластичные, и поэтому отскок не произойдет.
callbacksOnDisableИспользуйте это для управления тем, должны ли соответствующие обратные вызова OnCollisionExit2D или OnTriggerExit2D вызываться при отключении Collider2D.
contactThresholdПороговая величина, ниже которой контакт автоматически отключается.
defaultContactOffsetСмещение контакта по умолчанию для новых коллайдеров.
defaultPhysicsScenePhysicsScene2D автоматически создается при запуске 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Синхронизирует.