Кинематика персонажа

Доступна новая демонстрация работы dmech — на этот раз, на примере игровой кинематики (Character Controller) для игры от третьего лица. Персонаж умеет двигаться и прыгать, взаимодействуя со всеми физическими объектами и тримешем уровня.

Управление:
Стрелки — поворот вправо-влево и движение вперед-назад;
Пробел — прыжок.

Скачать для Windows

Исходники вскоре будут доступны в рамках проекта Atrium.

Обновление dmech

В физическом движке dmech реализована новая система кэширования контактов (persistent contact manifold), которая во многих случаях делает симуляцию более точной и правдоподобной.
Также обновлен репозиторий dmech на GitHub. Кроме свежих изменений в кодовой базе самого движка, добавлены исходники демонстрационного приложения на основе OpenGL и SDL.

Составные тела в dmech

В физическом движке dmech реализованы составные тела (поддержка нескольких геометрий на тело). Корректировка позиции теперь основана на псевдоскоростях. Кроме того, устранен артефакт дрожания (jittering), возникающий в некоторых ситуациях.
Также dmech теперь использует последнюю версию dlib.

Сборка для Windows
Сборка для Linux
Исходники

Репозиторий на GitHub будет обновлен в ближайшее время.

Улучшения в dmech

Ведется работа по улучшению физического движка dmech:

  • производительность повышена на 50%;
  • повышена стабильность симуляции;
  • улучшена система проверки столкновений — добавлен генератор contact manifold’ов;
  • реализовано двухосевое трение в солвере контактов.

Демка для Linux (1,84 МБ)
Исходники (0,3 МБ)

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

В скором времени изменения будут доступны на GitHub.

Bump mapping в Atrium

В движке Atrium реализован шейдерный эффект рельефа с использованием карт нормалей (Normal mapping). Представленная демонстрация показывает эффект в действии для динамических боксов, которыми игрок может манипулировать. Планируется также поддержка Parallax mapping.

Сборка для Windows (2,68 МБ)
Сборка для Linux (3,1 МБ)

Шейдеры написаны на GLSL и требуют наличия расширения ARB_shading_language_100 (или OpenGL 2.0), но это не является критической необходимостью — игра будет работать и со старыми видеокартами без поддержки шейдеров.

Atrium с новой физикой

Доступна сборка тестового уровня Atrium с интегрированным новым физическим движком — в целях демонстрации его возможностей, сферы были заменены на боксы.

Добавлена новая функция гравитационного излучателя: если выстрелить им в статичный объект (например, в стену или в потолок), то игрок притянется к этому месту.

Кроме того, теперь игрок может стоять и прыгать на динамических объектах — это позволит в будущем ввести интересные элементы геймплея: например, если необходимо забраться на недосягаемую высоту, игрок сможет нагромоздить несколько объектов друг на друга и вскарабкаться по ним.

Сборка для Windows (1,82 МБ)

Повышение стабильности

Повышена точность солвера, улучшена стабильность объектов в стеке (в представленной демке вы можете наблюдать стопку из 10 боксов, устойчиво стоящих один на другом), реализованы упругие столкновения. Добавлена поддержка треугольников — идет работа над реализацией статичных trimesh’ей для игровых уровней.

Cборка для Windows (1,88 МБ)
Сборка для Linux (2,67 МБ)
Исходники (4,1 МБ)

Обновление демки

Небольшое обновление демки физического движка: добавлены цвета для тел, убраны лишние пункты меню, изменена фоновая картинка меню, проделаны другие косметические изменения.

Сборка для Windows (1,87 МБ)
Исходники (3,48 МБ)

Цилиндры и MPR

В физическом движке реализован новый алгоритм проверки столкновений — Minkowski Portal Refinement (MPR), который позволяет ввести поддержку таких тел, как цилиндр, конус, пирамида, призма, капсула, октаэдр и т.д. Этот же алгоритм работает и для привычных сфер с боксами — самое замечательное в том, что список поддерживаемых тел можно расширить вообще любым выпуклым объектом, для которого определена функция экстремальной точки в заданном направлении (иными словами, геометрия должна знать, какая ее точка является «самой далекой» от центра в каждом направлении).

Сборка для Windows (1,62 МБ)
Сборка для Linux (2,48 МБ)
Исходники (3,11 МБ)

Сферы

Обновление физического движка. Реализованы сферы (полностью поддерживается проверка столкновений сфера-сфера и бокс-сфера), проделаны многочисленные улучшения архитектуры, кодовая база нового движка максимально приближена по интерфейсу к старой.

Сборка для Windows (1,66 МБ)
Cборка для Linux (2,46 МБ)
Исходники (2,7 МБ).