Релиз движка для создания браузерных 3D-приложений Blend4Web 15.06
Представлен новый релиз открытого фреймворка для создания браузерных 3D-приложений Blend4Web 15.06. Blend4Web предназначен для создания трехмерного интерактивного контента, работающего в браузерах без использования плагинов. Пакет тесно интегрирован с открытым пакетом Blender, использующимся в качестве основного инструмента редактирования 3D-сцен. Воспроизведение контента осуществляется средствами WebGL, Web Audio и других браузерных технологий. Наработки проекта распространяются под лицензией GPLv3.
Основные изменения: полностью переработанный интерфейс, новый редактор нормалей, поддержка всех имеющихся в Blender режимов затенения, корректная обработка нодовых материлов, улучшенная физика.
Подробнее об изменениях:
- Новый интерфейс, более ясный для восприятия и не перегруженный настройками. По аналогии с BGE и Cycles, реализован пользовательский профиль Blend4Web. При переключении в этот профиль исчезают все неподдерживаемые настройки. Реализация нового интерфейса стала возможной благодаря принятию патча в кодовую базу Blender.
- Настройки сгруппированы по принципу принадлежности к функциональности. Разбросанные по несвязанным панелям специфичные для Blend4Web параметры, стандартные настройки для рабочей области (вьюпорта) и настройки из BGE сведены в единую систему. Ряд параметров, например, включение рендеринга теней и рефракции, теперь включаются автоматически, при наличии соответствующих объектов на сцене.
- Добавлен новый редактор нормалей — инструмент, с помощью которого художник имеет возможность искусственно создавать затенение в нужных местах модели, избегая добавления ресурсоемкой геометрии. Редактор позволяет создавать контент высокого качества для интерактивных веб-приложений, в случае которых предъявляются особенно жесткие требования к производительности и объему сетевого трафика.
- Инструмент 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