Релиз 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-пользователей за их внимательность и замечания, которые помогают нам сохранять и совершенствовать производительность и стабильность движка в разных браузерах, на разных устройствах и операционных системах. Как всегда, мы будем рады вашим откликам в комментариях к этой статье и на нашем форуме!