Релиз движка для создания браузерных 3D-приложений Blend4Web 15.06

Представлен новый релиз открытого фреймворка для создания браузерных 3D-приложений Blend4Web 15.06. Blend4Web предназначен для создания трехмерного интерактивного контента, работающего в браузерах без использования плагинов. Пакет тесно интегрирован с открытым пакетом Blender, использующимся в качестве основного инструмента редактирования 3D-сцен. Воспроизведение контента осуществляется средствами WebGL, Web Audio и других браузерных технологий. Наработки проекта распространяются под лицензией GPLv3.

Основные изменения: полностью переработанный интерфейс, новый редактор нормалей, поддержка всех имеющихся в Blender режимов затенения, корректная обработка нодовых материлов, улучшенная физика.

Подробнее об изменениях:

  • Новый интерфейс, более ясный для восприятия и не перегруженный настройками. По аналогии с BGE и Cycles, реализован пользовательский профиль Blend4Web. При переключении в этот профиль исчезают все неподдерживаемые настройки. Реализация нового интерфейса стала возможной благодаря принятию патча в кодовую базу Blender. 0_1435829508.png
  • Настройки сгруппированы по принципу принадлежности к функциональности. Разбросанные по несвязанным панелям специфичные для Blend4Web параметры, стандартные настройки для рабочей области (вьюпорта) и настройки из BGE сведены в единую систему. Ряд параметров, например, включение рендеринга теней и рефракции, теперь включаются автоматически, при наличии соответствующих объектов на сцене. 0_1435829643.png
  • Добавлен новый редактор нормалей — инструмент, с помощью которого художник имеет возможность искусственно создавать затенение в нужных местах модели, избегая добавления ресурсоемкой геометрии. Редактор позволяет создавать контент высокого качества для интерактивных веб-приложений, в случае которых предъявляются особенно жесткие требования к производительности и объему сетевого трафика. 0_1435829834.png
  • Инструмент Mass Reexporter, служит для автоматического экспорта большого количества файлов, например при работе с несколькими или большими проектами.
  • Упрощен процесс установки и обновления дополнения Blend4Web. Кроме этого, появилась возможность проверки наличия обновлений — при каждом старте Blender аддон проверит наличие новой версии, отправив запрос на сайт blend4web.com (запрос анонимный, сама опция по умолчанию отключена). В результате реализации алгоритмов расчета рассеянного освещения Toon и Minnaert, а также алгоритма расчета бликов Blinn, Blend4Web поддерживает весь набор алгоритмов затенения, имеющихся в Blender.
  • Нода Geometry теперь поддерживается полностью, после реализации выходов Local и Orco. В целях стабилизации работы нодовых материалов, были добавлены заглушки для неподдерживаемых нод RGB Curves, Vector Curves, ColorRamp, а также для всех нод трассировочного движка Cycles. Некоторые из нод Cycles были частично или полностью реализованы в рамках их применимости к вьюпорту.
  • В целях улучшения соответствия было реализовано поведение Blender в случае отсутствия ноды Output (выводится черный цвет вместо «ошибочного» малинового).
  • Существенно расширены возможности физики. В системах обработки соударений и трассировки лучей стало возможным определение координат и нормали в точке взаимодействия с объектом, а также получение ссылки на сам объект. Практическое применение этой функциональности продемонстрировано небольшим демо-приложением.
  • Расширение возможностей API. Добавлены функции для управления эффектом размытия при движении (Motion blur). Теперь также имеется возможность управления плавностью хода камеры с помощью методов get/set_camera_smooth_factor () дополнения app.js и mouse.js. Появилась функция scenes.marker_frame (), которая возвращает значение кадра для маркера, расположенного на шкале времени в Blender.
  • В API добавлены два новых модуля: rgb и rgba. В них содержатся методы для конвертации между системами кодирования цветов, принятыми в 3D графике и в веб-разработке. Также была реализована поддержка шестнадцатеричной кодировки цветов CSS.
  • Реализована поддержка влияния весов вертексных групп на размер частиц типа Hair (поле Vertex Groups → Length).
  • Исправление ошибок и многочисленные мелкие улучшения, полный список которых можно посмотреть в замечаниях к релизу.

© OpenNet