Мы ценим вашу конфиденциальность. Мы используем файлы cookie, чтобы улучшить ваш опыт на нашем сайте. Используя этот сайт, вы соглашаетесь с нашей Политикой конфиденциальности.

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 Illumation в настройках проекта для создания и настройки объёмов проб.
  • Исправление импорта удалённых файлов сцены, вызывающего инстанциирование старых содержаний файла.
  • Экспонирование настройки качества сжатия изображений и оптимизации искажения скорости (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 Образ

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

API Плагина

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

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