Управляйте своими настройками cookies. Вы можете включать или отключать различные виды cookies ниже. Для получения более подробной информации см. нашу Политику конфиденциальности.

Wonderland Engine 1.4.0 - Объемы GI Probe, Reverse-Z, Свойства Массивов

Разреженные объемы проб глобального освещения, reverse-Z, новые типы параметров пользовательских компонентов (массивы и записи). См. полный список изменений ниже.

Разреженные Объемы Probe для Глобального Освещения 

Главное новшество этого релиза - наша высококачественная реализация объемов проб. Наш метод размещает сферические гармонические диффузные зондовые источники в сцене путем вокселизации сцены и распределения зондов света возле поверхностей. Это дает легкость работы для как GPU, так и времени загрузки, так как зонды размещаются только там, где это необходимо, эффективно используя данные.

Зонды запекаются напрямую из редактора. Косвенное освещение применяется даже к динамическим и скелетизированным объектам.

На приведенной выше сцене около 52,000 проб, что составляет примерно 2,5 МБ загружаемых данных GI.

Reverse Z 

Благодарим Playko за спонсорскую поддержку этой функции.

Пример Reverse Z.

Поскольку 32-битные числа с плавающей запятой имеют более высокую точность вблизи нуля, обычный диапазон точности для координат NDC (результат проекции) от -1 до 1 является неоптимальным и может вызывать сильные артефакты z-файтинга на близких и дальних расстояниях. Установление очень близких или далеких значений отсечения усиливает этот эффект.

Reverse-Z настраивает пространство NDC и матрицы проекции так, чтобы распределение точности 32-битных чисел с плавающей запятой использовалось оптимально, что позволяет отображать очень близкие и очень удаленные объекты без типичных артефактов z-файтинга.

Посмотрите пример reverse-z здесь.

Всегда SIMD 

Благодаря широкому распространению WebAssembly SIMD, мы смогли удалить все варианты без SIMD в рантайме. Это означает, что суффикс -simd больше не используется и подразумевается в именах рантайма.

Поддержка Проектов старше 1.0.0 

Трудно поверить, что Wonderland Engine 1.0.0 был выпущен почти в этот же день два года назад.

С выходом 1.4.0, мы удаляем 38 индивидуальных миграций файлов проекта, которые обновляют файлы проектов, созданные в версиях старше 1.0.0. То, что у нас их было так много, свидетельствует о том, насколько серьезно мы относимся к обратной совместимости.

Если у вас есть файл проекта старше 1.0.0, который вы хотите продолжать использовать с 1.4.0, вы всегда можете открыть его с версией 1.3.4 или более ранней версией Wonderland Engine, чтобы сначала перенести его на версию после 1.0.0.

Список Изменений 

Редактор

  • Новый раздел Global Illumination в настройках проекта для создания и настройки объемов проб.
  • Исправление импорта удаленных файлов сцены, вызывающего инстанцирование старых содержаний файла.
  • Экспонирование настройки качества сжатия изображений и оптимизации искажения скорости (RDO) в разделе Ресурсы > Изображения.
  • Linux: Включение отчетности о сбоях.
  • Улучшенный экран входа в редактор для авторизации через браузер (для доступа к менеджеру паролей).
  • Исправления различных сбоев.

Движок

  • Используйте reverse-Z, когда доступно EXT_clip_control.
  • Новая запеченная глобальная иллюминация через разреженные объемы GI проб.
  • Исправление константы EPSILON_F, некорректной для mediump чисел с плавающей запятой, вызывающей проблемы на менее мощных устройствах Android.
  • Обновление до версии meshoptimizer 0.23 (потенциальное улучшение размера файлов ~5-10% для сеток).
  • Исправление горячей перезагрузки плагинов, что потенциально вызывает добавление дополнительных записей плагинов в интерфейсе Плагинов.
  • Оптимизированная оценка буфера обратной связи плиток на менее мощных устройствах.
  • Исправление артефактов на тенях точечных светильников.

Рантайм

  • Удаление вариантов рантайма WebAssembly без SIMD.
  • Оптимизация загрузки несжатых текстур с использованием ImageBitmap.
  • Возможность загрузки текстуры из ImageBitmap.

API Рантайма

  • Добавление Property.array() и Property.record().

Docker Image

  • Переход от базового образа Ubuntu 20.04 к 22.04.

API Плагина

  • Теперь требуется наличие ключа "wonderlandengine" в package.json плагина.
  • Добавление экспериментальной функции tools.computeMeshBounds(mesh).
  • Добавление ui.inputTextMultiline().
Last Update: May 16, 2025

Будьте в курсе.