Релиз 0.8.5

Релиз 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 для тестировщиков кандидатских релизов
Last Update: June 18, 2021

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