Обновление физики

Доступна новая сборка демонстрации физического движка. Были исправлены кое-какие мелочи, улучшена точность солвера, сведен к пренебрежимому минимуму джиттеринг (дрожание покоящихся тел). Каркасное отображение тел заменено сплошным.

atrium-physics2-testbuild2-win32.zip (1,57 МБ).

Новый физический движок

Началась разработка нового физического движка для Atrium. Реализован новый солвер контактов. Планируется поддержка всех стандартных геометрических тел (сфера, бокс, цилиндр, капсула), а также разных типов сочленений. Доступна тестовая сборка*, иллюстрирующая динамику боксов:

atrium-physics2-testbuild1-win32.zip (1,56 МБ).

* — В главном меню приложения выберите «Sandbox».

Меню в Atrium

Состоялось довольно значительное обновление кодовой базы Atrium. В частности, было реализовано главное меню и меню паузы. Кроме того, репозиторий был синхронизирован с последней ревизией dlib.

Доступны свежие сборки:
Для Windows (1,74 МБ)
Для Linux (2,76 МБ).

Исходники проекта доступны на GitHub.

Atrium: интеграция физики

Доступна сборка Atrium со включенным физическим движком. Данная демонстрация показывает возможность создания игры от первого лица на основе физики: объект-игрок тоже представлен динамическим твердым телом (у которого просто отключена угловая скорость) массой в 80 кг. Перемещение игрока осуществляется путем приложения сил в нужных направлениях.

atrium-physics-test2-win32.zip (3.13 Мб)

Поддержка боксов в физическом движке

Доступна новая сборка физического движка: идет работа над реализацией поддержки ориентированных боксов (OBB). На данный момент работает обнаружение столкновений бокс-сфера и бокс-плоскость.

physics-test7-win32.zip (0.9 Мб)

Поддержка trimesh’ей в физическом движке

Доступная новая сборка физического движка: реализована поддержка статических полигональных мешей. Проверка столкновений с треугольниками оптимизируется при помощи BVH.

physics-test6-win32-optimized2.zip (0.98 Мб)

Обновление физического движка

Доступная новая бинарная сборка моего физического движка. Повышена точность солвера контактов: тела больше не проникают друг в друга под тяжестью своего веса. Добавлена поддержка интегрирования методом Верле.
Исходники ждите в ближайшем будущем — они вскоре будут интегрированы в Atrium.

physics-test5-win32.zip (0.8 МБ)
physics-test5-linux-x86.tar.bz2 (2.0 МБ)

Кроме того, недавно я завел аккаунт на DropBox — теперь все публичные файлы буду выкладывать туда.

Пример физики на движке Chipmunk

Пример рисования мышью многоугольников, которые сразу же начинают «жить» в физическом мире. В качестве физического движка используется ChipmunkD — прямой порт Chipmunk на D. Демка может быть использована в качестве основы для physics-based 2D-игры. Единственное ограничение — поддерживаются только выпуклые многоугольники, неконвексная геометрия просто отсеивается и не тесселируется до простых форм.

В архиве — исходники и сборки для Win32 и Linux x86:
polyshaper-all-platforms.zip (1.16 МБ)

Внимание! Пример писался достаточно давно — исходный код, скорее всего, не скомпилируется современными версиями DMD без дополнительных «танцев с бубном».