



Представлен открытый проект движка симуляции физических процессов Box3D
Разработчик Эрин Катто (автор проекта Box2D) сообщил о создании открытого движка симуляции физических процессов под названием Box3D. Решение представляет собой форк Box2D, имеющий идентичную архитектуру, но переработанный и расширенный для использования в трёхмерных играх. Исходный код проекта написан на языке C и опубликован на GitHub под лицензией MIT. Поддерживается сборка для Linux, Windows и macOS.
Проект движка Box3D создан в процессе разработки студией Kintsugiyama нового 3D‑шутера The Legend of California. В работе над этим решением задействован Катто. В игровом проекте применяется движок Unreal Engine, но разработчиков не устроил предлагаемый в нём штатный физический движок Chaos. У команды возникли проблемы с отсутствием учёта гироскопических крутящих моментов, например, тонкие объекты неестественно долго вращались. Также в проекте были баги с непрерывным обнаружением столкновений, нереалистичное поведение падающих деревьев и низкая производительность при обработке сотен тысяч объектов.
По информации OpenNET, изначально в команде проблемы планировали решить, создав форк физического движка Jolt, но затем по совету создателя движка Rubikon, задействованного в игре Half‑Life, за основу был взят разработанный в качестве хобби упрощённый вариант Rubikon‑Lite, который был переработан с использованием кода и оптимизаций из Box2D для совмещения имевшихся 3D‑возможностей с наработками из движка Box2D. В итоге почти все API, структуры данных и алгоритмы в Rubikon‑Lite были заменены на код из Box2D, а от Rubikon‑Lite остались лишь алгоритмы построения выпуклой оболочки и обработки 3D‑столкновений. Получившийся движок с ведома автора Rubikon‑Lite и компании Kintsugiyama было решено опубликовать как отдельный открытый
Читать на habr.com