Состоялся релиз открытого фреймворка для создания браузерных 3D-приложений Blend4Web 17.04. Blend4Web предназначен для создания трехмерного интерактивного контента, работающего в браузерах без использования плагинов. Пакет тесно интегрирован с открытым пакетом Blender, использующимся в качестве основного инструмента редактирования 3D-сцен. Воспроизведение контента осуществляется средствами WebGL, Web Audio и других браузерных технологий. Наработки проекта распространяются под лицензией GPLv3.
Основные изменения:
- Поддержка WebAssembly. Совсем недавно разработчики популярных веб-браузеров Chrome и Firefox объявили о поддержке WebAssembly в стабильных версиях программ. Эта перспективная технология призвана исключить некоторые недочеты JavaScript, улучшить производительность и уменьшить размер исполняемых модулей.
Разработчики Blend4Web подготовили WebAssembly-сборку физического движка Uranium.js (форк Bullet). Пока сборка является экспериментальной и включается вручную в настройках движка.
- Поддержка VR-контроллеров. WebVR — это еще одна перспективная технология. Однако в отличие от WebAssembly, она очень молода и доступна для тестирования только в экспериментальных сборках веб-браузеров. Тем не менее, разработчики Blend4Web прилагают усилия для обеспечения работы WebVR в своем движке. В этот релиз была добавлена поддержка контроллеров HTC Vive и подготовлено простое приложение с демонстрацией работы.
- Поддержка материалов Cycles. Продолжилась работа по интеграции материалов Cycles Render (фотореалистичный рендер Blender) в Blend4Web. Пользователи получили возможность создания окружения (неба) с помощью ноды Background. Также поддерживается узел Environment Texture и анимация материала. Последнее доступно с помощью нод Value и RGB.
- Компрессия gzip. Добавилась возможность выполнять компрессию ресурсов приложения на этапе сборки. Теперь пользователи фреймворка могут выбрать для себя наиболее удобный вариант оптимизации трафика. Либо путем настройки сервера, либо на этапе компиляции приложения. Настройка компрессии доступна в менеджере проектов Blend4Web.
- Обновлена система LOD. Levels of Details — это технология, позволяющая экономить ресурсы системы, путем использования трехмерных моделей различной детализации в зависимости от расстояния до камеры.
Основной проблемой LOD является заметное переключение детализации для конечного пользователя. Создатели реал-тайм движков используют различные алгоритмы скрытия этого процесса. В новом релизе разработчики Blend4Web добавили функцию мягкого перехода между уровнями. В зависимости от расстояния он выполняется за счет постепенного удаления пикселей. Соответствующая настройка находится в параметрах объектов и называется LOD Smooth Transitions.
- Также был обновлен редактор нормалей в Blender, оптимизирован эффект Bloom, добавилась поддержка режима прозрачности Alpha Anti-Aliasing, появилась поддержка RGBA-теней.
|