Box3D вышел в свет. Физика для 3D-игр переписана заново
Автор office-windows.ru, июл 07, 2026
Эрин Катто - человек, подаривший игровой индустрии 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 - вполне конкретная альтернатива.