Repolode
jrouwe

jrouwe/JoltPhysics

Многопоточная библиотека на C++ для симуляции твёрдых тел и обнаружения столкновений в играх и VR-приложениях.

Open source альтернатива:HavokPhysX

Звёзды
11,770
Форки
989
Открытые issues
13
Последний коммит
вчера

Что это?

Jolt Physics — библиотека на C++ для симуляции твёрдых тел и обнаружения столкновений. Она предназначена для игр и VR-приложений и позволяет обращаться к физическим данным из фоновых потоков, пока выполняется основная симуляция. Например, тела можно загружать в фоне, а запросы на проверку столкновений — выполнять параллельно с шагом симуляции.

Библиотека поддерживает широкий набор физических примитивов: формы, включая сферы, коробки, капсулы, выпуклые оболочки, сетки и рельефы высот; ограничения, такие как шарниры, слайдеры, пружины, шестерни и 6 DOF-соединения; а также ragdoll-модели, колёсный и гусеничный транспорт, контроллеры персонажей, мягкие тела, симуляцию волос на GPU и плавучесть. Симуляция может быть детерминированной: чтобы синхронизировать удалённый клиент, достаточно передавать ему входные данные. Библиотека собирается с Visual Studio, Clang или GCC, зависит только от стандартной библиотеки C++ и не использует RTTI или исключения.

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

  • 01Симуляция твёрдых тел с непрерывным обнаружением столкновений для множества типов форм.
  • 02Ограничения, в том числе шарниры, слайдеры, конусные и дистанционные соединения, шестерни, блоки и 6 DOF, с поддержкой моторов.
  • 03Поддержка ragdoll-моделей с жёсткой и мягкой подгонкой к анимированным позам.
  • 04Контроллеры персонажей, колёсный и гусеничный транспорт, симуляция мягких тел.
  • 05Детерминированная симуляция, которую можно реплицировать, синхронизируя только входные данные.
  • 06Поддержка Windows, Linux, macOS, Android, iOS, FreeBSD и WebAssembly через отдельный проект.

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

  • Добавление симуляции твёрдых тел и обнаружения столкновений в игровой движок на C++.
  • Создание взаимодействий в VR, которым нужны физически правдоподобные объекты и ограничения.
  • Разработка сетевых игр с детерминированной симуляцией и репликацией входных данных.
  • Симуляция транспорта, ragdoll-моделей или перемещения персонажей в игровом мире.

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

  1. 1

    Чтобы начать, ознакомьтесь с примером HelloWorld

  2. 2

    Соберите библиотеку, следуя инструкциям в разделе Build

  3. 3

    Изучите приложение Samples, чтобы узнать о его возможностях

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

  • Требуется C++17 и Visual Studio 2022 или новее, Clang 16 или новее либо GCC 12 или новее.
  • Для некоторых платформ, например Platform Blue, нужны собственная среда сборки и файл, предоставляемый по NDA.

Темы

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

Что такое JoltPhysics?
Многопоточная библиотека на C++ для симуляции твёрдых тел и обнаружения столкновений в играх и VR-приложениях. Jolt Physics — библиотека на C++ для симуляции твёрдых тел и обнаружения столкновений. Она предназначена для игр и VR-приложений и позволяет обращаться к физическим данным из фоновых потоков, пока выполняется основная симуляция. Например, тела можно загружать в фоне, а запросы на проверку столкновений — выполнять параллельно с шагом симуляции.
JoltPhysics можно использовать бесплатно? Какая у него лицензия?
JoltPhysics распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
JoltPhysics всё ещё поддерживается?
Активно поддерживается. Последний коммит в JoltPhysics — 18 окт. 2026 г..
Для чего можно использовать JoltPhysics?
Добавление симуляции твёрдых тел и обнаружения столкновений в игровой движок на C++. Создание взаимодействий в VR, которым нужны физически правдоподобные объекты и ограничения. Разработка сетевых игр с детерминированной симуляцией и репликацией входных данных. Симуляция транспорта, ragdoll-моделей или перемещения персонажей в игровом мире.
Как установить JoltPhysics?
Чтобы начать, ознакомьтесь с примером HelloWorld Соберите библиотеку, следуя инструкциям в разделе Build Изучите приложение Samples, чтобы узнать о его возможностях
Где скачать JoltPhysics?
Исходный код и инструкции по установке — на GitHub: https://github.com/jrouwe/JoltPhysics

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

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

Luanti (ранее Minetest) — бесплатный игровой движок с открытым исходным кодом для создания воксельных игр и игры в них с поддержкой модов на Lua.

13,7 тыс.2,5 тыс.C++OtherОбновлён 4 часа назад

Открытый движок, созданный сообществом, который переносит градостроительную игру Pharaoh 1999 года на современные системы и использует оригинальные файлы игры.

51740C++AGPL-3.0Обновлён 7 дней назад