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) и улучшенная проверка земли.