События

Итоги прошедшего года и планы на 2019 год

2018-12-29

Для команды Blend4Web уходящий 2018 год был переломным. Целый год мы пересматривали и перестраивали концепцию нашего продукта. И мы почти на финише!

Еще в начале года после экспериментов над библиотекой одежды нам стало ясно, что технологии трехмерной графики для сайтов пока по-прежнему далеки от широкого потребления, материалы сложны и часто сильно связаны с особенностями геометрических форм, а разработка коммерческих веб-приложений для демонстрации товаров требует много усилий и времени в несколько месяцев. Все это создает сильный барьер для применения 3D в бизнесе.

Долгое время наш SDK успешно работал в программной среде Blender. В одной из панелей настроек открытого для редактирования графического файла была доступна кнопка вызова нашего менеджера проектов. Это не совсем логично, обычно происходит наоборот - файлы открываются из рабочего окружения. И для развития наших продуктов конечно требуется независимая от Blender среда разработки проектов, компоновки трехмерных сцен, программных сценариев для веб-приложений.

Мы также понимали, что установка и использование наших продуктов требовало большого количества неявных шагов и отталкивало новичков. Поэтому мы начали изменения с разработки самостоятельного приложения Blend4Web Studio, которое любой пользователь компьютера сможет установить буквально одним-двумя кликами мыши. При этом интеграция с пакетом Blender осталась, а необходимые модули устанавливаются автоматически. В студии мы полностью пересмотрели подход к управлению проектами. Теперь ключевым моментом является так называемый контейнер, позволяющий подключать специальный для разных задач редактор и сразу видеть конечный результат на трехмерной WebGL сцене, а не промежуточное представление в Blender.

Для контейнеров проектов Blend4Web мы унифицировали большой список параметров и сделали работу с проектами проще. Появились и другие контейнеры для материалов «Fabric» и конфигурируемых готовых веб-приложений «Configurator». Сейчас мы активно работаем еще над парой других контейнеров для проектирования одежды и систем автоматики, но они будут представлены чуть позже.

И самое главное, мы решили подготовить облачную площадку для удобной работы коммьюнити. Теперь любой активный участник нашего коммьюнити сможет открыть не просто блог для демонстрации работ, но и полноценный интернет магазин для продажи материалов, ассетов, а также пользоваться нашей библиотекой для скорейшего выполнения своих проектов. В нашем облаке мы постарались учесть работу и конечных потребителей, кооторые смогут простыми шагами создавать трехмерные образы из хранящихся в разных конфигураторах трехмерных объектов.

Контейнер проектов Blend4Web

Разрабатывая механизм работы с проектами, мы старались учесть все минусы, которые присутствовали в SDK. В первую очередь мы исправили такой важный момент, как принудительное расположение проекта внутри SDK и дали пользователю возможность самому задавать дирректорию с проектами. Также мы упростили набор доступных типов приложений по причине излишества. Сборка приложений для конечного пользователя будет мало чем отличаться от сборки в SDK, хотя скрипты сборки были переписаны и унифицированы.

Новый редактор материалов

Основываясь на нашем многолетнем опыте работы с 3D в WEB мы все чаще приходили к выводу, что многим пользователям довольно сложно создать привлекательную картинку. Основная проблема кроется в повышенном пороге входа для создателей материалов. Поэтому мы решили разделить редактирование материала на два уровня:

  • высокий уровень - уровень т.н. uber-материала, простой в освоении и заключающийся в настройке цветов, текстур и обычных числовых параметров
  • низкий уровень - уровень нод, старый и привычный для всех способ

Для возможности работы без Blender мы разработали нодовый редактор, работающий прямо в студии.

Нодовый редактор материалов Blend4Web Studio

Новый редактор логики

Создавая независимый от Blender пайплайн работы с Blend4Web, мы также коснулись визуального программирования. Перед нами встал вопрос выбора инструмента. Наш текущий нодовый редактор имеет внушительный набор функций, однако его удобство всегда находилось под вопросом. Важным фактором здесь являлась наглядность и расширяемость. При этом в нашем внутреннем проекте Automatic, который вскоре мы представим, уже более трех лет использовался редактор Blockly от Google, широко распространенный визуальный язык сценариев, основанный на блоках. При помощи данного инструмента получаются более наглядные сценарии и он прост в расширении. В результате мы приняли решение отказаться от нодового представления. И мы считаем, что это еще сильнее упростит работу наших пользователей.

Визуальный редактор логики

Импорт glTF

Чтобы окончательно разрушить барьеры, встающие перед пользователями, использующими в качестве альтернативы Blender другие редакторы, мы добавили возможность загрузки движком трехмерных сцен в формате glTF, предназначенного для импорта 3D-контент в различного рода приложения, как это делает jpeg-формат для обычных картинок. Благодаря поддержке glTF пользователи Blend4Web смогут использовать не только Blender, но и другие редакторы трехмерной графики.

Fabric Designer

В новом контейнере Fabric теперь можно хранить как в обычном файле материалы с их свойствами и текстурными изображениями. Редактор материалов имеет два режима - нодовый редактор управления графом GLSL инструкций для профессионалов и упрощенный Uber интерфейс.

Uber формат содержит легкую панель управления материалом. Подписчики Uber материалов могут простым кликом мгновенно получить разные виды приготовленного профессионалами пластика, стекла, металла, кожи, ткани.

Fabric Designer

Configurator Designer

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

Configurator Designer

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

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

С помощью мощного редактора Configurator Designer можно компоновать на трехмерной сцене объекты конфигуратора, задавая им определенные координаты, а также с помощью встроенного редактора материалов Fabric Designer задавать элементам и частям объектов нужные покрытия как из готовых материалов, загруженных из контейнеров Configurator или Fabric, так и создавая материал с нуля.

Встроить и воспроизводить конфигураторы на веб-сайте очень легко с помощью Configurator Player. Можно использовать как универсальную встроенную панель управления параметрами и опциями объектов на основе таблицы совместимости, так и программный интерфейс API для JavaScript сценариев.

Итоги прошедшего года

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

Все это было бы невозможным без перестройки команды под новые цели, без переориентации на проекты коммерческих предприятий и снижение порога применения 3D в вебе. В начале 2019 года мы с Вами увидим первый релиз Blend4Web Studio с перечисленными здесь возможностями.

Планы на следующий 2019 год

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

Прикладные возможности будут расширены режимами навигации по примеру нашего молочного завода, что позволит сократить сроки программирования подобных проектов с полугода-года до 2-3 недель.

В новом году добавим поддержку новой версии Blender 2.8 и других пакетов трехмерной графики. Но работа в графических редакторах будет отделена от сборки сцены, настройки материалов, физического движка, природных эффектов и сценариев поведения объектов на сцене. Перечисленные функции будут выполнять внутренние редакторы Blend4Web Studio.

Отдельно стоит сказать о работе над модулем проектирования одежды с поддержкой полноценных текстильных лекал и физической симуляцией поведения ткани по методике KES-F. Мы готовим здесь сюрприз - большую библиотеку готовой одежды, обуви и аксессуаров для оформления сайтов модной индустрии.

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

Также предстоит пройти не малый путь подготовки интерактивного контента. Здесь мы готовим облачную площадку для коммьюнити и заказчиков контента.

С Новым Годом!

Хотим еще раз поздравить всех энтузиастов трехмерной графики с Новым 2019 Годом! Приглашаем принять участие в маленьком конкурсе. Ниже в статье вы найдете наше поздравление. Предложите свое видение Снегурочки на основе нашего нового конфигуратора! Свой образ нужно разместить в социальной сети Instagram, Facebook или VK, добавить хеш тег #B4WStudio. И в момент выпуска Blend4Web Studio мы обязательно наградим Вас за участие одним из новых коммерческих материалов Fabric.

С новым 2019 годом!