office-windows.ru

Box3D вышел в свет. Физика для 3D-игр переписана заново

Box3D вышел в свет. Физика для 3D-игр переписана заново
Foto: office-windows.ru

Автор office-windows.ru, июл 07, 2026

Box3D вышел в свет. Физика для 3D-игр переписана заново

Эрин Катто - человек, подаривший игровой индустрии Box2D, один из самых влиятельных физических движков в истории - выпустил его трёхмерного наследника. Box3D уже доступен на GitHub под лицензией MIT и готов к использованию, пусть и в статусе альфы.

От хобби-форка до полноценного движка

История Box3D начиналась не с чистого листа. Студия Kintsugiyama разрабатывает 3D-шутер The Legend of California на Unreal Engine и с самого начала упёрлась в ограничения встроенного физического движка Chaos. Проблем накопилась целая гора: гироскопические крутящие моменты не учитывались вовсе - тонкие объекты крутились неестественно долго. Деревья падали неправдоподобно. Непрерывное обнаружение столкновений давало баги. При сотнях тысяч объектов производительность падала в пол.

Сначала команда смотрела в сторону форка Jolt. Но в итоге за основу взяли Rubikon-Lite - упрощённую версию движка Rubikon, который когда-то работал внутри Half-Life. Дальше началась планомерная хирургия: почти все API, структуры данных и алгоритмы заменили кодом из Box2D. От донора оставили только алгоритмы выпуклых оболочек и обработки 3D-столкновений. Результат решили опубликовать отдельно - с согласия всех причастных.

Что умеет Box3D

Движок получил полный арсенал Box2D, переработанный под три измерения. Ключевые возможности:

  • Непрерывное определение столкновений - объект движется как траектория, а не как последовательность точек
  • Sub-stepping Solver: симуляция дробится на мелкие шаги, точность растёт
  • Поддержка сферических, капсульных и оболочечных форм для коллизий
  • SIMD-оптимизированный обработчик соприкосновений
  • Контроллер персонажа с полноценной обработкой движения и взаимодействий
  • Трассировка лучей и форм, система сенсоров
  • Соединения любых типов: шарниры, пружины, моторы, колёса, сварка
  • Заморозка неактивных объектов для экономии ресурсов
  • Координаты в типе double - для по-настоящему огромных миров
  • Кроссплатформенный детерминизм: одинаковый результат на разном железе

Для 3D-специфики добавлены коллизии с полигональными мешами и высотными картами. Именно это позволило реализовать в The Legend of California корректное падение деревьев на воксельные поверхности. Ещё одна новинка - предварительно просчитанные составные столкновения из нескольких простых форм: потребление ресурсов при симуляции тысяч мелких объектов снижается кратно.

Кто уже использует и что будет дальше

Box3D 0.1 помечен как альфа - основная функциональность готова, документация и тесты пока догоняют. Тем не менее движок уже работает не только в The Legend of California, но и в игровой платформе s&box, открытом движке Esoterica и многопользовательской Space Game, рассчитанной на тысячу игроков одновременно.

В планах Катто - доработка механики движения персонажей, борьба с «призрачными» столкновениями и улучшение joint solver. Сторонние разработчики смогут отправлять pull-запросы после подписания CLA. Движок собирается под Linux, Windows и macOS, написан на C17. Для экосистемы независимых игр и небольших студий, которым встроенная физика крупных движков не подходит, появление Box3D - вполне конкретная альтернатива.