Repolode
avianphysics

avianphysics/avian

Физический движок для 2D и 3D на ECS, созданный специально для игрового движка Bevy на Rust.

Звёзды
3,280
Форки
302
Открытые issues
212
Последний коммит
позавчера

Что это?

Avian — физический движок для Bevy, написанный на Rust и представленный отдельными крейтами для 2D (avian2d) и 3D (avian3d). Он напрямую интегрируется с Entity Component System в Bevy: физические объекты — это обычные сущности и компоненты, а не отдельный физический мир, который нужно синхронизировать с игровым.

Движок поддерживает динамические, кинематические и статические твёрдые тела, а также скорости, силы, демпфирование, блокировку осей, переход в спящий режим и непрерывное обнаружение столкновений. Для обнаружения столкновений используется библиотека Parry. Также доступны события столкновений, слои, хуки столкновений, соединения (fixed, distance, prismatic, revolute, spherical) и пространственные запросы, например raycast и shapecast. В движок также входят интерполяция Transform для фиксированных временных шагов и отладочная визуализация.

Avian поддерживает точность f32 и f64; по умолчанию используется f32. Документация и примеры для 2D и 3D доступны на docs.rs и в репозитории.

Ключевые возможности

  • 01Динамические, кинематические и статические твёрдые тела со скоростью, демпфированием и блокировкой осей
  • 02Обнаружение столкновений на базе Parry, со слоями, событиями и хуками столкновений
  • 03Встроенные соединения: fixed, distance, prismatic, revolute и spherical
  • 04Raycast, shapecast и другие пространственные запросы через компоненты или параметр SpatialQuery
  • 05Интерполяция и экстраполяция Transform для фиксированных временных шагов
  • 06Поддержка точности f32 и f64

Сценарии использования

  • Добавление физики твёрдых тел и столкновений в 2D- или 3D-игру на Bevy
  • Создание соединений и ограничений, например шарниров или направляющих, в симуляции на Bevy
  • Выполнение raycast или shapecast для игровых задач, например проверки видимости или траектории снаряда

Быстрый старт

  1. 1

    Добавьте avian3d в зависимости Cargo.toml (для 2D используйте avian2d).

    avian3d = "0.8"
  2. 2

    Добавьте PhysicsPlugins в приложение Bevy и создавайте физические сущности с помощью RigidBody и Collider.

Что важно знать

  • Библиотека привязана к игровому движку Bevy, поэтому вне Bevy она бесполезна.
  • Это версия до 1.0 (0.8), поэтому API может меняться от релиза к релизу.
  • Для каждой версии Bevy требуется соответствующая версия Avian, поэтому при обновлении Bevy может понадобиться обновить их согласованно.

В подборках

Темы

Частые вопросы

Что такое avian?
Физический движок для 2D и 3D на ECS, созданный специально для игрового движка Bevy на Rust. Avian — физический движок для Bevy, написанный на Rust и представленный отдельными крейтами для 2D (avian2d) и 3D (avian3d). Он напрямую интегрируется с Entity Component System в Bevy: физические объекты — это обычные сущности и компоненты, а не отдельный физический мир, который нужно синхронизировать с игровым.
avian можно использовать бесплатно? Какая у него лицензия?
avian распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
avian всё ещё поддерживается?
Активно поддерживается. Последний коммит в avian — 4 нояб. 2026 г..
Для чего можно использовать avian?
Добавление физики твёрдых тел и столкновений в 2D- или 3D-игру на Bevy Создание соединений и ограничений, например шарниров или направляющих, в симуляции на Bevy Выполнение raycast или shapecast для игровых задач, например проверки видимости или траектории снаряда
Как установить avian?
Добавьте avian3d в зависимости Cargo.toml (для 2D используйте avian2d).: avian3d = "0.8" Добавьте PhysicsPlugins в приложение Bevy и создавайте физические сущности с помощью RigidBody и Collider.
Где скачать avian?
Исходный код и инструкции по установке — на GitHub: https://github.com/avianphysics/avian

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Универсальный физический движок для быстрой и точной симуляции контактирующих сочленённых тел, широко используемый в робототехнике и исследованиях машинного обучения.

16,1 тыс.+103 за неделю1,9 тыс.C++Apache-2.0Обновлён 7 часов назад