Команда Blend4Web представляет новый релиз платформы для разработки трехмерных браузерных приложений. В версии 16.02 были реализованы сразу четыре новых шейдерных узла, в менеджере проектов появилась возможность подготавливать приложения к развертыванию на сервере, настройки окружения стало возможным анимировать, а в частицах теперь можно использовать узловые материалы.
Системы частиц
В системах частиц теперь стало возможным использовать всю мощь узловых материалов. Напомним, что наш патч с реализацией узла Particle Info был принят в состав кодовой базы Blender некоторое время назад. Начиная с этого дня, функциональность этого узла доступна и в Blend4Web. Узел Particle Info имеет выходы с полезной информацией об индивидуальных частицах, включая их "возраст", время "жизни", скорость движения и т.п., на основании которой можно создавать различные интересные эффекты.
Узел Particle Info.
Также была улучшена поддержка частиц с типом рендеринга Halo. В частности, была добавлена поддержка настроек Rings, Lines и Star Tips, ранее работавших только на материалах, и убрано ограничение на максимальный размер частиц этого типа. Новые возможности систем частиц продемонстрированы на примере ниже.
Шейдерные узлы
Помимо уже упомянутого узла Particle Info, была реализована поддержка трех очень важных узлов из стандартного набора Blender. Узлы Vector Curves и RGB Curves позволяют задавать функциональные зависимости любой сложности от числовых и цветовых параметров соответственно. Узел ColorRamp позволяет в удобной форме создавать градиенты с неограниченным количеством базовых точек.
Узлы Vector Curves, RGB Curves и ColorRamp.
Эти инструменты, поддержка которых неоднократно запрашивалась нашими пользователями, позволяют реализовывать необычные процедурные эффекты без использования текстур.
Добавление этого функционала означает также, что с сегодняшнего дня Blend4Web поддерживает все шейдерные узлы Blender.
Менеджер проектов
Удобство использования и функциональность инструмента для управления проектами значительно увеличились. Изменения произошли и во внешнем виде менеджера проектов - в описание приложения стало возможным вставлять изображения, а
в интерфейсные элементы были добавлены всплывающие подсказки.
Интерфейс менеджера проектов.
Новый функционал включает возможность экспортировать сразу нескольких проектов в один архив, что существенно упрощает обновление SDK и перенос проектов с одной рабочей машины на другую. Приложения теперь можно подготавливать к развертыванию - все зависимости и ресурсы упаковываются в самодостаточный архив файлов, пригодный для размещения на удаленном сервере или отправки по почте.
Для приложений, работающих в стандартном веб-плеере, стало возможным в удобной форме указывать параметры адресной строки, такие как включение счётчика кадров, авто-вращение камеры, выключение кнопок социальных сетей и т.п.
Параметры создания проекта, работающего в веб-плеере.
И, наконец, теперь можно просмотреть подробную информацию о проекте по ссылке [info], расположенной справа от имени проекта.
Анимация настроек окружения
Все богатство имеющихся настроек окружения ("мира") теперь стало возможным анимировать. В частности, анимационные ключи воспроизводятся для цветов неба, интенсивности освещения от окружения, а также для цвета и настроек тумана.
Анимация настроек окружения.
Данная функциональность поддерживается также и в NLA-анимации. По аналогии с объектами в панель "мира" были добавлены опции Apply Default Animation и Behavior, предназначенные для управления воспроизведением анимации.
Руководство пользователя
Мы всегда уделяли пристальное внимание полноте и качеству описания всех особенностей работы платформы в документации. В этом месяце руководство пользователя пополнилось разделом об использовании API камеры, таблицей совместимости и производительности всех стандартных шейдерных узлов, подразделом об известных проблемах. Был создан отдельный раздел по системе управления проектами. Объекты и меши теперь описываются в отдельных разделах.
Все разделы документации снабжены кратким содержанием. Также была добавлена возможность переключения между языками непосредственно в документации.
Прочие улучшения
Переработана система программных методов управления камерой, в модуль camera были добавлены несколько новых функций, а также ссылки на разделы руководства пользователя, в которых объясняется их использование.
В узле Send Request редактора логики появился опция Content-Type, позволяющая переназначить соответствующее поле заголовка HTTP-запроса.
Узел Send Request.
В модуль controls.js добавлен новый сенсор Gyro Quat (метод create_gyro_quat_sensor), предназначенный для работы с гироскопом на мобильных устройствах. Сенсор позволяет оперировать кватернионом поворота устройства.
Реализована экспериментальная поддержка популярного мобильного браузера UC Browser.
Параметр ламп Generate Shadows переименован в Shadow и теперь также активирует отображение теней во вьюпорте Blender.
Отображение теней во вьюпорте.
При переходе на главную страницу SDK проверяется наличие локального сервера разработки. В случае запуска из локальной файловой системы выводится соответствующее предупреждение.
В завершение
Представленный релиз Blend4Web совместим с Blender 2.76. Blend-файлы всех упомянутых в этой статье примеров включены в состав Blend4Web SDK. С полным списком изменений и исправленных ошибок можно ознакомиться в замечаниях к релизу.