Релиз 0.8.5
Поддержка современного JavaScript, конвейеры с улучшенным рендерингом листвы, шаблоны проектов и множество исправлений багов и оптимизаций производительности, значительно повышающих стабильность.
Подробный обзор
Этот релиз добавляет несколько очень мощных новых функций, которые предполагают более внимательное изучение:
Поддержка современного JavaScript
Хотя это позволяет вам создавать свои пользовательские компоненты в ES6+,
используя const
, =>
и class
, эта функция значительно шире.
С ней появляется возможность использовать всю экосистему NPM, самостоятельно собирать код JavaScript, или даже использовать другие языки, такие как TypeScript!
В связи с тем, что мы хотим, чтобы Wonderland Engine хорошо интегрировался с вашим процессом сборки, мы опубликовали два пакета: @wonderlandengine/api и @wonderlandengine/components.
Конвейеры
Более детальный контроль над функциями конвейера GPU, такими как смешивание, дает вам возможность создавать широкий спектр эффектов. Конвейеры также позволяют отключать части шейдеров и настраивать производительность, используя только то, что вам действительно нужно.
С ним появляется мощный новый конвейер “Foliage”, который обеспечивает более высокое качество для моделей растений с альфа-маскингом.
Шаблоны проектов
Wonderland Engine уже делает вас супер продуктивными с его быстрым рабочим процессом разработки. Тем не менее, не делать что-то с самого начала может быть еще быстрее. Чтобы сократить количество шаблонной работы, мы теперь предоставляем шаблоны для быстрого старта вашего проекта.
А если вам нужно больше, вы можете создать свои собственные и поделиться с сообществом.
Список изменений
Редактор
- Поддержка JavaScript ES2018 через V8
- Теперь редактор анализирует результирующий пакет, а не исходные файлы js
- Добавлена возможность собирать пакет JavaScript через npm script
- Открытый исходный код для встроенных компонентов редактора
- Опубликованы компоненты редактора как пакет npm
- Добавлены шаблоны проектов для создания проектов
- Добавлена поддержка пользовательских шаблонов проектов
- Добавлена поддержка конвейеров
- Добавлена поддержка перехода альфа в покрытие (“альфа маскинг с MSAA”)
- Добавлена поддержка произвольных конфигураций смешивания
- Добавлена возможность отключения теста глубины и масок записи глубины
- Добавлена поддержка двусторонних материалов
- Добавлен конвейер “Foliage” для двусторонних материалов с переходом альфа в покрытие
- Добавлена генерация карт исходников для пакетов JavaScript
- Добавлена экспериментальная поддержка mip мапинга на сжатой текстурной атласе
- Добавлена возможность Ctrl + Drag’n’Drop из Property View в Scene Outline для копирования компонентов на другие объекты
- Добавлена настройка
framebufferScalingFactor
в Project Settings - Включен MSAA в Scene View для соответствия виду во время выполнения
- Улучшено время загрузки сцены
- Добавлены папки в файловую область Asset Browser
- Исправлены некоторые редкие сбои при внесении изменений во время упаковки
- Исправлен сбой при перетаскивании ничего в Asset Browser
- Исправлены возвращаемые значения при сбоях с флагом
--windowless
- Исправлены подсветки строк таблицы в Resources View
- Исправлены некоторые ресурсы, которые нельзя было переименовать в Resources View
- Исправлены некоторые ресурсы, которые нельзя было выбрать в выпадающих меню свойств
- Исправлена масштабная приманка в Scene View для объектов с родителями
- Улучшен стиль и макет интерфейса
- Улучшена плавность инструментов трансформации для сцен с множеством объектов
- Улучшена поддержка импорта файлов OBJ
- Удален ненужный вывод журнала для уменьшения беспорядка
Шаблоны
- Добавлен шаблон “Mobile AR” с проверкой попадания
- Добавлен шаблон “VR” с отслеживанием рук, контроллерами, телепортом и взаимодействием курсора
Время выполнения
- Модульная структура API JavaScript
- Открытый исходный код API (https://github.com/WonderlandEngine/api)
- Опубликован API как пакет npm (https://www.npmjs.com/package/@wonderlandengine/api)
- Все пространства ссылок WebXR запрашиваются и наиболее продвинутые выбираются по умолчанию
- Исправлено: память WasmMemory не могла быть выделена на Oculus Quest при разработке крупных проектов
- Исправлен сбой при деактивации скин-меша
- Улучшены кнопки для входа в VR/AR
- Добавлен градиент фона для улучшения внешнего вида до первой отрисовки
- Исправлены предупреждения, регистрируемые как ошибки в консоли браузера
- Исправлено:
start()
вызывается на компонентах JavaScript, деактивированных в редакторе
Движок
- Исправлено сглаживание при включенном эффекте bloom
- Улучшена производительность лучевых кастов против Box и AxisAlignedBox
- Улучшена производительность обновления текста
- Значительно улучшена производительность графа сцены для сцен с множеством динамических деревьев объектов (скин-мешей)
API JS
- Исправлены исключения при доступе
WL.Material.*
к параметрам - Добавлены сеттеры для
WL.PhysXComponent.shape
,extents
и различных других свойств для изменения жестких тел PhysX - Добавлен
WebXR.refSpace
для выбора референсного пространства - Исправлено:
WL.Object.getComponents()
иногда возвращал неправильные типы компонентов - Добавлен
WL.Object.active
для (де-)активации всех компонентов на объекте - Добавлены
set WL.Object.transformWorld
иset WL.Object.transformLocal
- Исправлено: состояние
active
становилось недопустимым при изменении во времяonActivate()
- Значительно улучшены колебания операционной памяти и поведение сборщика мусора
Компоненты JavaScript
- курсор: Добавлен
cursorRayScalingAxis
для масштабирования объекта луча по конкретной оси - курсор: Исправлено:
onHover()
теперь принимает параметр hover объекта - телепорт: Переработан для поддержки входных данных джойстика и ориентации в VR сессиях
- телепорт: Исправлено: центр пространства телепортировался вместо игрока
- vr-mode-active-switch: Исправлено поведение при деактивации и теперь избегает деактивации
- отслеживание рук: Добавлены опции для (де-)активации отображения сетки и объектов контроллера в зависимости от доступности позы
- Добавлен компонент
finger-cursor
для взаимодействия сcursor-target
через перекрытие столкновений (например, с отслеживанием рук на кончике указательного пальца)
Docker Image
- Переход на базовый образ ubuntu:20.04
- Добавлен тег
edge
для тестировщиков кандидатских релизов