Введение в LowLevelPhysics2D API
Примечание: Эта документация посвящена написанию C# скрипты с использованием LowLevelPhysics2D API. Использовать 2D физики в Unity Editor используя компоненты, такие как Rigidbody 2D компонент, см. 2D физика вместо этого.
LowLevelPhysics2D API позволяет создавать и управлять физическими объектами 2D в скриптах C#. API основан на версии 3 физической системы Box2D.
API не взаимодействует или не влияет на встроенные Unity 2D физические компоненты, такие как Rigidbody 2D и Collider 2D. Две системы являются отдельными.
Потребности в ресурсах
API работает на платформах, поддерживающих вычислительные шейдеры.
API совместим с Universal Render Pipeline (URP), High Definition Render Pipeline (HDRP) и встроенным Render Pipeline.
Об API
API имеет следующие преимущества по сравнению со стандартными 2D физическими компонентами, такими как Rigidbody 2D и Collider 2D:
- Создайте физику в вашей сцене с или без использования GameObjects. Вы можете создать неограниченное количество объектов, и создать партии из нескольких объектов.
- Производительность выше, потому что Unity хранит данные непрерывно в памяти, а симулирование работает на 64 CPU ядрах одновременно.
- Система является более детерминированной, так что вы получаете одинаковые результаты каждый раз, когда запускаете моделирование.
- API поддерживает использование 64 слоев для обнаружения столкновений, вместо стандартных 32.
- Мост APIs безопасны для потока, поэтому вы можете использовать система работы запускать физический код на нескольких потоках.
- API возвращает объекты в виде структур, поэтому их можно использовать в Data-Oriented Technology Stack (DOTS) от Unity.
API позволяет выполнять следующие действия, например:
- Объедините фигуры в свои собственные физические фигуры, например, шестерню с зубцами.
- Создайте несколько изолированных физических миров в одной сцене, которые работают параллельно.
- Запустите 2D физику в 3D пространстве, например, чтобы создать 2D мир, который лежит плотно на земле.
- Используйте несколько потоков для отображения лучей, которые запрашивают пересечения и перекрытия.
Нет встроенных компонентов. Вы создаете физические объекты непосредственно в вашей сцене. Однако вы можете использовать API для выделения наборов свойств в окне Inspector Unity Editor, которые действуют как компоненты. Это позволяет вам настроить свойства аналогично компонентам Rigidbody 2D и Collider 2D.
Отладка рисунка
LowLevelPhysics2D API автоматически рисует отладочную визуализацию физических объектов в представлениях Scene, Game и в сборках для разработки. Вы также можете рисовать свои собственные отладочные фигуры. Дополнительные сведения см. в Рисование отладочной визуализации объектов LowLevelPhysics2D API.
Примеры проектов
Например, проекты, которые используют LowLevelPhysics2D API, ссылаются на хранилище PhysicsCore2D на GitHub.
Дополнительные ресурсы
- PhysicsCore2D хранилище на GitHub