Blend4Web Community Edition – открытый фреймворк, предназначенный для создания и отображения интерактивной трёхмерной графики в браузерах. Blend4Web Community Edition использует открытый пакет 3D-моделирования Blender для подготовки контента.
Разработан и выпущен в 2014 году российской фирмой «Триумф», которая также предоставляет коммерческую лицензию продукта (включающую примеры готовых приложений) и услуги по технической поддержке.
Подготовка аудиовизуального контента для Blend4Web Community Edition осуществляется в пакете 3D-моделирования и анимации Blender. Контент воспроизводится посредством WebGL, Web Audio и других стандартных браузерных технологий, без использования каких-либо расширений.
Фреймворк распространяется на условиях двойного лицензирования, под открытой GNU General Public License version 3 и коммерческой лицензиями. Исходный код находится в репозитории на GitHub.
3D-сцена создаётся в Blender и экспортируется в виде файла в формате JSON и двоичного файла для последующей загрузки веб-приложением. Сцена может быть также экспортирована в виде единственного самодостаточного HTML-файла, в который упаковываются экспортируемые данные, пользовательский интерфейс веб-плеера и исполняемый код. Экспорт в HTML-формате рассматривается как наиболее простой способ работы с Blend4Web Community Edition. Итоговый файл с минимальным размером порядка 1 Мб может быть размещён на веб-странице с помощью стандартного элемента <iframe>. Веб-приложения на основе Blend4Web Community Edition могут быть развёрнуты в популярных социальных сетях, таких как Facebook и ВКонтакте.
В состав программных компонентов Blend4Web Community Edition входят библиотеки JavaScript, дополнение к Blender и набор инструментов для настройки параметров 3D-сцен, отладки и оптимизации.
Разработка Blend4Web Community Edition начата московской компанией «Триумф» в 2010 году. Первый публичный релиз состоялся 28 марта 2014 года.
В конце 2017 года основатели проекта Юрий и Александр Ковеленовы покинули компанию и начали разработку нового продукта Verge3D.
Особенности Blend4Web Community Edition
Скорость и направление анимации, а также параметры систем частиц (размер, начальная скорость и количество) могут быть заданы посредством API.
Работа указанного функционала продемонстрирована в демо-ролике «Ферма», в котором также присутствуют многочисленные анимированные неигровые персонажи, реализована возможность перемещения по локации с видом от первого лица, реализовано взаимодействие с объектами и управление транспортным средством.
Тем не менее, в браузерах с экспериментальной реализацией стандарта WebGL, таких как Internet Explorer, возможности Blend4Web Community Edition поддерживаются не полностью. Существуют приложения, способные работать в операционной системе Tizen, в частности, на «умных» часах Samsung Gear S2.
- оптимизация методом комбинирования вызовов отрисовки;
- оптимизация методом отсечения скрытых объектов;
- вынесение физических расчётов в отдельный поток выполнения;
- симуляция поведения морских волн.
Инструмент напоминает редактор логики встроенного игрового движка Blender, в частности, в нём, как и в BGE, используются выстраиваемые в интерфейсе Blender визуальные логические блоки. Анимационные последовательности, созданные художником, проигрываются в ответ на взаимодействие пользователя с теми или иными трёхмерными объектами.
Работа шлема Oculus Rift обеспечивается экспериментальным API WebVR.
Интеграция Blend4Web Community Edition с Blender
При переключении в профиль происходит перестраивание интерфейса Blender с одновременным удалением всех неподдерживаемых настроек.
Также имеется начальная поддержка редактора нелинейной анимации (NLA) в составе пакета Blender, предназначенного для создания простых сценариев.
Сравнение Blend4Web Community Edition с аналогами
Как и встроенный игровой движок Blender (Blender Game Engine, BGE), Blend4Web Community Edition загружает подготовленные в Blender данные сцен без использования какого-либо промежуточного редактора. Приложения на основе Blend4Web Community Edition предназначены для работы в браузерах, в то время как исполняемые файлы BGE запускаются вне браузеров. API Blend4Web Community Edition реализованы на JavaScript, в отличие от основанных на Python API встроенного движка Blender. Вместо визуального редактора логики BGE, неподдерживаемого в Blend4Web Community Edition, в последнем предполагается использование стандартных подходов, принятых в веб-разработке.
В Unity возможность экспорта в WebGL имеется с версии 5. Реализация поддержки WebGL, тем не менее, носит экспериментальный характер, в частности, в WebGL-версии в ближайшей перспективе не планируется поддержка мобильных устройств, системы позиционирования источников звука, видеотекстур.
WebGL-библиотека Three.js требует написания программного кода для выполнения тривиальных задач, что повышает порог вхождения и удлиняет обучение; в Blend4Web Community Edition большая часть работ по подготовке онлайн-презентаций не требует программирования.
Ссылки