WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Blend4Web

Скриншоты демо-приложений
Тип Инструментарий для интерактивной трёхмерной графики
Разработчик Триумф
Написана на JavaScript, Python, C, C++
Первый выпуск 28 марта 2014
Последняя версия
Состояние Активный
Лицензия GPLv3 или коммерческая
Сайт blend4web.com/ru

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

Разработан и выпущен в 2014 году российской фирмой «Триумф», которая также предоставляет коммерческую лицензию продукта (включающую примеры готовых приложений) и услуги по технической поддержке.

Обзор

Подготовка аудио-визуального контента для Blend4Web осуществляется в пакете 3D-моделирования и анимации Blender. Контент воспроизводится посредством WebGL, Web Audio и других стандартных браузерных технологий, без использования каких-либо расширений[2].

Фреймворк распространяется на условиях двойного лицензирования, под открытой GPLv3 и коммерческой лицензиями. Исходный код находится в репозитории на GitHub[3].

3D-сцена создаётся в Blender и экспортируется в виде файла в формате JSON и двоичного файла для последующей загрузки веб-приложением. Сцена может быть также экспортирована в виде единственного самодостаточного HTML-файла, в который упаковываются экспортируемые данные, пользовательский интерфейс веб-плеера и исполняемый код[4]. Экспорт в HTML-формате рассматривается как наиболее простой способ работы с Blend4Web[5]. Итоговый файл с минимальным размером порядка 1 МБ может быть размещен на веб-странице с помощью стандартного элемента <iframe>[6]. Веб-приложения на основе Blend4Web могут быть развёрнуты в популярных социальных сетях, таких как Facebook[7] и ВКонтакте.

В состав программных компонентов Blend4Web входят библиотеки JavaScript, дополнение к Blender и набор инструментов для настройки параметров 3D-сцен, отладки и оптимизации.

Разработка Blend4Web начата московской компанией «Триумф» в 2010 году. Первый публичный релиз состоялся 28 марта 2014 года[8].

В конце 2017 года основатели проекта Юрий и Александр Ковеленовы покинули компанию и начали разработку нового продукта Verge3D[9].

Особенности

Фреймворк содержит ряд компонентов, обычно присутствующих в игровых движках, включая систему позиционирования источников звука, физический движок (форк физического движка Bullet, портированный на JavaScript), систему анимации и слой абстракции для программирования игровой логики[10].

На каждый объект может быть назначено до 8 анимаций различного типа, включая скелетную и вершинную анимацию. Скорость и направление анимации, а также параметры систем частиц (размер, начальная скорость и количество) могут быть заданы посредством API[11].

Поддерживаются динамическая загрузка и выгрузка данных, карты освещения, имеется возможность симуляции подповерхностного рассеивания[12].

Имеются решения для рендеринга наружных сцен, включая симуляцию воздействия ветра, симуляцию воды, атмосферные эффекты. Работа указанного функционала продемонстрирована в демо-ролике «Ферма», в котором также присутствуют многочисленные анимированные неигровые персонажи, реализована возможность перемещения по локации с видом от первого лица, реализовано взаимодействие с объектами и управление транспортным средством[13].

Ввиду использования кроссбраузерной технологии WebGL, Blend4Web работает во всех основных[14] браузерах, в том числе на мобильных устройствах[15]. Тем не менее, в браузерах с экспериментальной реализацией стандарта WebGL, таких как Internet Explorer, возможности Blend4Web поддерживаются не полностью[16]. Существуют приложения, способные работать в операционной системе Tizen, в частности, на «умных» часах Samsung Gear S2[17].

Среди нетривиальных для браузерных фреймворков особенностей называются следующие: оптимизация методом комбинирования вызовов отрисовки, оптимизация методом отсечения скрытых объектов, вынесение физических расчетов в отдельный поток выполнения, симуляция поведения морских волн[18].

В версии 14.09 в Blend4Web реализована возможность реализации интерактивности в 3D-сценах посредством инструмента для визуального программирования. Инструмент напоминает редактор логики встроенного игрового движка Blender, в частности, в нём, как и в BGE, используются выстраиваемые в интерфейсе Blender визуальные логические блоки. Анимационные последовательности, созданные художником, проигрываются в ответ на взаимодействие пользователя с теми или иными трёхмерными объектами[19][20].

Начиная с версии 15.03 Blend4Web поддерживает присоединение двумерных HTML-элементов (например, информационных окон) к 3D-объектам (так называемые аннотации), а также копирование объектов во время работы приложения («инстанцирование», англ. instancing)[21].

Среди эффектов на основе постобработки поддерживаются светящиеся поверхности (англ. glow), засветка ярким светом (bloom), глубина резкости камеры, сумеречные лучи, размытие при движении и взаимное затенение (SSAO)[22].

Поддержка устройств виртуальной реальности была реализована в конце 2015 г. Работа шлема Oculus Rift обеспечивается экспериментальным API WebVR.[23]

Интеграция с Blender

Дополнение для Blender написано на Python и Си, и может быть скомпилировано для платформ Linux x86/x64, OS X x64 и MS Windows x86/x64.

Профиль настроек Blend4Web активируется в настройках аддона. При переключении в профиль происходит перестраивание интерфейса Blender с одновременным удалением всех неподдерживаемых настроек[24].

Меню переключения в профиль Blend4Web

Blend4Web поддерживает ряд специфичных для Blender функций, таких как узловой редактор материалов (инструмент для визуального программирования шейдеров)[25] и система частиц[26]. Также имеется начальная поддержка редактора нелинейной анимации (NLA) в составе пакета Blender, предназначенного для создания простых сценариев.

Для получения схожего визуального результата в редакторе и в браузере (WYSIWYG) пользователям рекомендуется переключаться в режим рендеринга GLSL, имеющегося в Blender[27].

Сравнение с аналогами

Blender Game Engine

Как и встроенный игровой движок Blender (Blender Game Engine, BGE), Blend4Web загружает подготовленные в Blender данные сцен без использования какого-либо промежуточного редактора[5]. Приложения на основе Blend4Web предназначены для работы в браузерах, в то время как исполняемые файлы BGE запускаются вне браузеров[28][29]. API Blend4Web реализованы на JavaScript, в отличие от основанных на Python API встроенного движка Blender. Вместо визуального редактора логики BGE, неподдерживаемого в Blend4Web, в последнем предполагается использование стандартных подходов, принятых в веб-разработке.

Unity

В Unity возможность экспорта в WebGL имеется с версии 5[30]. Реализация поддержки WebGL, тем не менее, носит экспериментальный характер, в частности, в WebGL-версии в ближайшей перспективе не планируется поддержка мобильных устройств, системы позиционирования источников звука, видеотекстур[31].

Three.js

WebGL-библиотека Three.js требует написания программного кода для выполнения тривиальных задач, что повышает порог вхождения и удлиняет обучение; в Blend4Web большая часть работ по подготовке онлайн-презентаций не требует программирования[32].

Известные случаи использования

НАСА разработало интерактивное веб-приложение к третьей годовщине со дня посадки марсохода Кьюриосити[33]. В приложении[34], созданном на основе Blend4Web, реализовано движение ровера, управление камерами и манипулятором, а также воспроизведены некоторые известные события миссии[35][36]. Приложение было представлено в начале секции WebGL на конференции SIGGRAPH 2015[37].

Experience Curiosity: ровер делает селфи
Experience Curiosity: обучающий режим
Experience Curiosity: режим свободного управления

Примечания

  1. Релиз Blend4Web 17.08
  2. Blend4Web: the Open Source Solution for Online 3D. Mozilla Hacks. Проверено 13 августа 2015.
  3. Blend4Web on GitHub. GitHub.com/TriumphLLC. Проверено 11 августа 2014.
  4. Прахов, Андрей (Июль, 2015). «Blend4Web». Linux Format, стр. 20.
  5. 1 2 Blend4Web, an Interactive 3D Viewer. BlenderNation.com. Проверено 11 августа 2014.
  6. Blend4Web: способ вставить 3D-содержание на веб-страницу с использованием WebGL. Belursus.info. Проверено 4 сентября 2014.
  7. Blender Models in Facebook. Dalai Felinto. Проверено 11 сентября 2015.
  8. Официальный сайт Blend4Web - О проекте. Blend4Web.com. Проверено 13 августа 2015.
  9. Starting up. soft8soft.com. Проверено 13 августа 2018.
  10. Представлен Blend4Web, движок для создания браузерных 3D-приложений. OpenNet.ru. Проверено 18 июня 2015.
  11. Релиз движка для создания браузерных 3D-приложений Blend4Web 14.08. OpenNet.ru. Проверено 13 августа 2015.
  12. Blend4Web update adds improved lighting and more. BlenderNation.com. Проверено 13 августа 2014.
  13. The Farm. Chrome Experiments. Проверено 11 сентября 2015.
  14. Can I use WebGL?. caniuse.com. Проверено 15 августа 2014.
  15. HTML5, the 3D Web, and the Death of Plugins. 3dspace.com. Проверено 18 февраля 2016.
  16. Blend4Web: енджин за създаване на браузърни 3D сцени и приложения. Kaldata: Software, Hardware and Game Reviews. Проверено 4 сентября 2014.
  17. Real Time 3D watchfaces from Luxury Watches for the Gear S2. Tizen Experts. Проверено 12 августа 2016.
  18. Cozzi, Patrick. WebGL Insights. CRC Press, 2015 ISBN 978-1-4987-1607-9.
  19. Blend4Web Update: Non Linear Animation and more. BlenderNation.com. Проверено 29 сентября 2014.
  20. Выпущен фреймворк Blend4Web 14.09. digilinux.ru. Проверено 29 сентября 2014.
  21. Blend4web: annotations interactives et autres nouveautés. Greg G.d.Bénicourt. Проверено 29 мая 2015.
  22. Релиз движка для создания браузерных 3D-приложений Blend4Web 15.05. OpenNet.ru. Проверено 18 июня 2015.
  23. Triumph releases Blend4Web 15.12. cgchannel.com. Проверено 18 февраля 2016.
  24. Blend4Web – Must-Have for Blender Fans!. 3ddey.com. Проверено 29 мая 2015. Архивировано 1 июня 2015 года.
  25. Interactives 3D Web – Ist Das Die Zukunft?. 3d-magazin.eu. Проверено 16 сентября 2016.
  26. 3D-Web-Applikationen mit Blend4Web erstellen. entwickler.de. Проверено 29 мая 2015.
  27. Blend4Web: Exporter Facilement en HTML. BlenderLounge. Проверено 17 июля 2015.
  28. Blender en tu Web: Blend4Web. PatrimonioVirtual.com. Проверено 13 августа 2014.
  29. Blend4Web: Ferramenta publica projetos do Blender para Web. Allan Brito. Проверено 29 мая 2015.
  30. Unity 5 Ships and Brings One Click WebGL Export to Legions of Game Developers. The Mozilla Blog. Проверено 16 июня 2015.
  31. Why NASA Switched from Unity to Blend4Web. GameDev.Net. Проверено 11 сентября 2015.
  32. The Good, The Bad and the WebGL-y. benchung.com. Проверено 19 июня 2015. Архивировано 22 июня 2015 года.
  33. New Online Exploring Tools Bring NASA's Journey to Mars to New Generation. NASA. Проверено 7 августа 2015.
  34. Experience Curiosity. NASA's Eyes. Проверено 7 августа 2015.
  35. Prenez le controle de Curiosity avec Blend4Web. Greg G.d.Bénicourt. Проверено 16 сентября 2015.
  36. Internet 3D: Take the Curiosity Rover for a Spin Right on the NASA Website. Technology.Org. Проверено 12 августа 2015.
  37. Khronos Events - 2015 SIGGRAPH. Khronos. Проверено 13 августа 2015.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии