Dagon 0.19.0
Вышла новая версия движка! Релиз очень большой, все изменения детально описывать в этом посте не буду, перечислю только самое основное. Подробности – на странице релиза.
- Добавлен модуль dagon.core.persistent – простая БД типа “ключ-значение”, которую можно использовать для управления пользовательскими данными игры, такими как настройки и сохранения;
- InputManager теперь поддерживает разделенные пробелами имена кодов клавиш в привязках. Вместо пробела используется символ плюса, например,
kb_left+ctrl
для левого Ctrl; - Dagon-приложение теперь устанавливает кодировку консоли на UTF-8 в Windows, чтобы нормально выводился нелатинский текст;
- Добавлен SimpleRenderer, о котором я уже писал ранее – облегченный рендерер для казуальной и стилизованной графики;
- Добавлена поддержка бокс-проекции для световых зондов. Ее можно включить с помощью свойства
Entity.probeUseBoxProjection
. Зонды теперь используют альфа-спад для плавного смешивания с данными в G-буфере – благодаря этой фиче сглаживается граница между интерьерным и уличным освещением. Для управления этим эффектом введено свойствоEntity.probeFalloffMargin
; - Добавлена поддержка ортогональных проекций: свойство
RenderView.projection
теперь принимает константыPerspective
,Ortho
иOrthoScreen
.RenderView.orthoScale
управляет масштабом проекции в режимеOrtho
; - Добавлен новый примитив – цилиндр
ShapeCylinder
, а такжеBillboard
(прямоугольник, который всегда направлен в сторону камеры); - Материалы теперь поддерживают произвольные преобразования текстур (аффинные матрицы 3×3) благодаря свойству
Material.textureTransformation
. МетодMaterial.setSprite(Vector2f uvSize, Vector2f uvPosition)
можно использовать для наложения на квады фрагментов текстуры – полезно для рендеринга спрайтов и покадровой анимации; - Добавлен новый пакет dagon.collision – базовая система обнаружения столкновений;
- В контроллере персонажей
NewtonCharacterComponent
появилась поддержка приседания (методcrouch
) и улучшенная проверка земли.