События

Релиз Blend4Web 17.10

2017-10-31

Представляем новый релиз Blend4Web - открытой платформы для создания трёхмерных веб-приложений. В этом релизе мы сконцентрировали свое внимание на ряде важных нововведений, подготовке фундамента для значительной модернизации движка в будущем и устранении ошибок в работе движка. Начиная с этого релиза Blend4Web полностью поддерживает режим отображения Side-By-Side и устройства дополненной реальности, включает улучшенные алгоритмы расчета окружающего освещения в Cycles нодах Diffuse BSDF и Glossy BSDF и значительные улучшения редактора нодовой логики. 

Side-By-Side и устройства дополненной реальности

Мы продолжили работы над поддержкой новых форматов подачи контента и взаимодействия с интерактивными 3D-приложениями, прежде всего дополненной реальности.

Поддержав многочисленные обращения наших клиентов, в этом выпуске мы реализовали одну небольшую, но очень полезную функцию - режим отображения "Side-by-side". Как известно, в этом режиме кадр делится на две части, с изображением сцены для левого и правого глаза.

Поддержка режима Side-by-side была реализована и в стандартном плеере Blend4Web. Для активации этого режима пользователю достаточно воспользоваться соответствующим вариантом в меню выбора режима рендеринга, как показано на предыдущем рисунке.

Режим Side by Side может пригодиться в различных ситуациях, прежде всего тогда, когда передача в режиме "настоящего" стереоизображения невозможна. Например, многие телевизоры с поддержкой 3D позволяют восстанавливать стереоизображение из формата Side-by-Side даже при использовании самых простых кабелей HDMI. Наиболее важно, что такой формат картинки требуется для корректной работы ряда устройств виртуальной и дополненной реальности. Одним из устройств, работающих в таком режиме являются очки дополненной реальности Epson Moverio BT-300.

Данные очки позволяет в полностью автономном режиме просматривать AR и VR контент, оснащены ОС Android и укомплектованы Google Chrome. В результате владелец очков может получать AR и VR контент не только посредством установки приложений, но и просто зайдя через веб-браузер на интересующий его сайт. Будь вы инженер, изучающий схему проводки, медик, изучающий состояние органов пациента или посетитель музея – вам больше нет нужды скачивать и устанавливать многочисленные приложения. Все что вам нужно – браузер и сайт с Blend4Web-приложением. Мечты постепенно становятся реальностью.

Cycles-ноды

На протяжении нескольких последних релизов в дополнение к системе нодовых материалов Internal Render мы реализуем возможность использовать ноды рендера Cycles для настройки внешнего вида 3D-моделей. В конечном итоге мы хотим предложить художникам несколько способов описания материалов, каждый из которых будет иметь свои плюсы и минусы. Так, ноды Internal Render позволяют создавать произвольные материалы и иметь полный контроль над структурой шейдера и получаемым результатом. Cycles-ноды позволят художникам быстро публиковать контент без необходимости преобразования материалов. Для удобства наших пользователей, в этом релизе мы начали подготовку к реализации полноценной PBR-модели описания материалов. С учетом скорого выхода Blender 2.8 и рендера EEVEE мы остановились на том, что в Blend4Web будет реализован не просто metal-roughness PBR, a Диснеевская шейдерная модель и связанная с ней нода Principled BSDF рендера EEVEE.

Это – дело будущего, но в рамках релиза 17.10 мы заложили базу и разработали улучшенный вариант двух нод рендера Cycles – Diffuse BSDF и Glossy BSDF, лежащих в основе будущего убер-шейдера.

В сравнении с реализацией, представленной в 17.06, новая реализация более качественно имитирует диффузное и зеркальное отражение с учетом окружающего освещения (environment lighting). Уже текущая реализация эффектов позволяет их использовать для публикации в веб достаточно сложных моделей, выполненных для Cycles, например вот этой модели фотоаппарата Nikon D7100:

Редактор Логики

Мы продолжаем развитие средств визуального программирования – редактора нодовой логики. В этом релизе мы представляем ряд существенных нововведений.

Прежде всего, начиная с этого релиза Blend4Web позволяет не просто создавать логику вашего приложения в виде нодового дерева, но разбивать его на отдельные функции. Такой структурированный подход позволяет вам писать логику гораздо более компактно!

Нода Define Function позволяет задать новую функцию и описать ее входные и выходные параметры. Нода Call Function позволяет вызвать функцию в нужном месте, передав необходимые параметры. У пользователей, знакомых с нодой JS Callback использование этих нод не вызовет никаких вопросов.

Кроме того, теперь у вас есть возможность описать логику вашего приложения, распределив отдельные функции по разным нодовым деревьям (на нескольких диаграммах)! Для этого достаточно при вызове функции просто указать нужно нодовое дерево.

Наконец, в этом релизе мы представляем ноду Switch, о которой просили многие пользователи и позволяющую простым образом организовывать ветвление алгоритма путем последовательной проверки нескольких условий. Больше нет необходимости создавать гирлянды из нод Conditional Jump, все можно сделать компактно, а главное – понятно.

Работа по развитию редактора логики будет продолжена в следующих релизах, следите за новостями!

Прочие нововведения

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

Мы устранили проблему, беспокоящую пользователей долгое время. Теперь, если у пользователя одновременно запущено несколько копий Blender, то аддон самостоятельно отслеживает то, в какой из них работает сервер Tornado, обслуживающий менеджер проектов. Если случайно эта копия Blender будет закрыта, то теперь аддон автоматически перезапустит сервер Tornado, и пользователь сможет продолжить работать с менеджером проектов как будто ничего не произошло.

Мы внесли небольшие изменения в физический движок и добавили возможность управления вектором гравитации в сцене. С этой целью в модуле physics был добавлен метод set_character_vert_move_dir_angle.  Также нами была улучшена стабильность ограничений HINGE.

Начиная с этой версии Blend4Web поддерживает переменные не только скалярных типов, но и объектного.

Для работы с Blend4Web 17.10 рекомендуется использовать Blender 2.79. Это связано с усовершенствованиями редактора логики и использованием Datablock pointer properties. При использовании аддона с предыдущими версиями Blender это может вызывать некоторые проблемы совместимости.

С полным перечнем нововведений можно как всегда познакомиться в замечаниях к выпуску.

В завершение

Этот релиз также включает множество исправленных ошибок. Длинный список исправленных проблем подчеркивает наше стремление поддерживать движок в максимально стабильном состоянии на всех поддерживаемых платформах несмотря на все разнообразие функциональных возможностей и подсистем в составе Blend4Web. Мы благодарим наше сообщество и PRO-пользователей за их внимательность и замечания, которые помогают нам сохранять и совершенствовать производительность и стабильность движка в разных браузерах, на разных устройствах и операционных системах. Как всегда, мы будем рады вашим откликам в комментариях к этой статье и на нашем форуме!