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

Выпушчаны ў 2014 годзе, распрацоўшчык — расійская фірма «Трыумф», пастаўляе таксама камерцыйную ліцэнзію прадукту (якая ўключае прыклады з зыходнымі кодамі і паслугі па тэхнічнай падтрымцы).

Агляд
-----

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

Фреймворк распаўсюджваецца на ўмовах падвойнага ліцэнзавання, пад адкрытай GPLv3 і камерцыйнай ліцэнзіямі. Зыходны код знаходзіцца ў рэпазіторыі на GitHub.

3D-сцэна ствараецца ў Blender і экспартуецца ў выглядзе файла ў фармаце JSON і бінарнага файла для наступнай загрузкі вэб-дадаткам. Сцэна можа быць экспартавана ў выглядзе адзінага самадастатковага HTML-файла, у які пакуюцца экспартаваныя дадзеныя, карыстацкі інтэрфейс вэб-плэера і выкананы код. Экспарт у HTML фармаце разглядаецца як найбольш просты спосаб работы з Blend4Web. Выніковы файл з мінімальным памерам каля 1 МБ можа быць размешчаны на вэб-старонцы з дапамогай стандартнага элемента iframe. Вэб-дадаткі на аснове Blend4Web могуць быць разгорнутыя ў папулярных сацыяльных сетках, такіх як Facebook і У Кантакце.

У склад праграмных кампанентаў Blend4Web ўваходзяць бібліятэкі JavaScript, дадатак да Blender і набор інструментаў для налады параметраў 3D-сцэн, адладкі і аптымізацыі.

Распрацоўка Blend4Web была пачатая маскоўскай кампаніяй «Трыумф» у 2010 годзе. Першы публічны рэліз адбыўся 28 сакавіка 2014 года.

Асаблівасці
-----------

Фрэймворк змяшчае шэраг кампанентаў, звычайна прысутных у ігравых рухавіках, уключаючы сістэму пазіцыянавання крыніц гуку, фізічны рухавік (форк фізічнага рухавіка Bullet, размешчаны на JavaScript), сістэму анімацыі і пласт абстракцыі для праграмавання ігравой логікі.

На кожны аб’ект можа быць прызначана да 8 анімацый рознага тыпу, у тым ліку шкілетную і вяршынную анімацыю. Хуткасць і кірунак анімацыі, а таксама параметры сістэм часціц (памер, пачатковая хуткасць і колькасць) могуць быць зададзены з дапамогай API.

Падтрымліваюцца дынамічная загрузка і выгрузка дадзеных, карты асвятлення, маецца магчымасць сімуляцыі падпаверхневага рассейвання.

Маюцца рашэнні для рэндэрынгу вонкавых сцэн, уключаючы сімуляцыю ўздзеяння ветру, сімуляцыю вады, атмасферныя эфекты. Работа названага функцыяналу прадэманстравана ў дэма-роліку «Ферма», у якім таксама прысутнічаюць шматлікія аніміраваныя неігравыя персанажы, рэалізавана магчымасць перамяшчэння па лакацыі з выглядам ад першай асобы, рэалізавана узаемадзеянне з аб’ектамі і кіраванне транспартным сродкам.

З прычыны выкарыстання кросбраўзэрнай тэхналогіі WebGL, Blend4Web працуе ва ўсіх асноўных  браўзэрах, у тым ліку на мабільных прыладах. Тым не менш, у браўзэрах з эксперыментальнай рэалізацыяй стандарту WebGL, такіх як Internet Explorer, магчымасці Blend4Web падтрымліваюцца не цалкам.

Сярод нетрывіяльных для браўзэрных фрэймворкаў асаблівасцяў называюцца наступныя: аптымізацыя метадам камбінавання выклікаў адмалеўкі, аптымізацыя метадам адсячэння схаваных аб’ектаў, вынясенне фізічных разлікаў у асобны паток выканання, імітацыі паводзінаў марскіх хваляў.

У версіі 14.09 у Blend4Web была рэалізавана магчымасць рэалізацыі інтэрактыўнасці ў 3D-сцэнах з дапамогай інструмента для візуальнага праграмавання. Інструмент нагадвае рэдактар логікі убудаванага ігравога рухавіка Blender, у прыватнасці, у ім, як і ў BGE, выкарыстоўваюцца візуальныя лагічныя блокі, якія выстройваюцца ў інтэрфейсе Blender. Анімацыйныя паслядоўнасці, створаныя мастаком, прайграваюцца ў адказ на ўзаемадзеянне карыстальніка з тымі ці іншымі трохмернымі аб’ектамі.

Пачынаючы з версіі 15.03 Blend4Web падтрымлівае далучэнне двухмерных HTML-элементаў (напрыклад, інфармацыйных вокнаў) да 3D-аб’ектаў (так званыя анатацыі), а таксама капіраванне аб’ектаў падчас працы дадатка («інстанцыраванне», англ.: instancing).

Сярод эфектаў на аснове постапрацоўкі падтрымліваюцца свячэнне паверхні (англ.: glow), засвечванне яркім святлом (bloom), глыбіня рэзкасці камеры, змрочныя прамяні, размыцце пры руху і ўзаемнае зацяненне (SSAO).

Інтэграцыя з Blender
--------------------

Дадатак для Blender напісаны на Python і C, і можа быць скампілявана для  платформаў Linux x86/x64, Mac OS X x64 і MS Windows x86/x64.

Профіль налад Blend4Web актывуецца ў наладах адона. Пры пераключэнні ў профіль адбываецца перабудоўванне інтэрфейсу Blender з адначасовым выдаленнем ўсіх налад, якія не падтрымліваюцца.

Blend4Web падтрымлівае шэраг спецыфічных для Blender функцый, такіх як вузлавой рэдактар матэрыялаў (інструмент для візуальнага праграмавання шэйдараў) і сістэма часціц. Таксама маецца пачатковая падтрымка рэдактара нелінейнай анімацыі (NLA) у складзе пакета Blender, прызначанага для стварэння простых сцэнарыяў.

Для атрымання падобнага візуальнага выніку ў рэдактары і ў браўзэры (WYSIWYG), карыстальнікам рэкамендуецца перамыкацца ў рэжым рэндэрынгу GLSL, які ёсць ў Blender.

Параўнанне з аналагамі
----------------------

### Blender Game Engine

Як і ўбудаваны ігравы рухавік Blender (Blender Game Engine, BGE), Blend4Web загружае падрыхтаваныя ў Blender дадзеныя сцэн без выкарыстання якога-небудзь прамежкавага рэдактара. Дадаткі на аснове Blend4Web прызначаны для працы ў браўзэрах, у той час як выкананыя файлы BGE запускаюцца па-за браўзэраў. API Blend4Web рэалізаваны на JavaScript, у адрозненне ад заснаваных на Python API убудаванага рухавіка Blender. Замест візуальнага рэдактара логікі BGE, які не падтрымліваецца ў Blend4Web, у апошнім мяркуецца выкарыстанне стандартных падыходаў, прынятых у вэб-распрацоўцы.

### Unity

У Unity магчымасць экспарту ў WebGL маецца з версіі 5. Рэалізацыя падтрымкі WebGL, тым не менш, носіць эксперыментальны характар, у прыватнасці, у WebGL-версіі ў бліжэйшай перспектыве не плануецца падтрымка мабільных прылад, сістэмы пазіцыянавання крыніц гуку, відэа-тэкстур.

### Three.js

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

Вядомыя выпадкі выкарыстання
----------------------------

НАСА распрацавала інтэрактыўны вэб-дадатак да трэцяй гадавіны з дня пасадкі марсахода К’юрыёсіці. У дадатку, створаным на аснове Blend4Web, рэалізаваны рух ровера, кіраванне камерамі і маніпулятарам, а таксама ўзноулены некаторыя вядомыя падзеі місіі. Дадатак быў прадстаўлены ў пачатку секцыі WebGL на канферэнцыі SIGGRAPH 2015.

Зноскі
------

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. Архівавана з першакрыніцы 26 чэрвеня 2015. Праверана 4 верасня 2014.
7. ↑  Blender Models in Facebook **(нявызн.)**(недаступная спасылка).  Dalai Felinto. Архівавана з першакрыніцы 4 сакавіка 2016. Праверана 11 верасня 2015.
8. ↑  Официальный сайт Blend4Web - О проекте **(нявызн.)**.  Blend4Web.com. Праверана 13 жніўня 2015.
9. ↑  Представлен Blend4Web, движок для создания браузерных 3D-приложений **(нявызн.)**.  OpenNet.ru. Праверана 18 чэрвеня 2015.
10. ↑  Релиз движка для создания браузерных 3D-приложений Blend4Web 14.08 **(нявызн.)**.  OpenNet.ru. Праверана 13 жніўня 2015.
11. ↑  Blend4Web update adds improved lighting and more **(нявызн.)**.  BlenderNation.com. Праверана 13 жніўня 2014.
12. ↑  The Farm **(нявызн.)**.  Chrome Experiments. Праверана 11 верасня 2015.
13. ↑  Can I use WebGL? **(нявызн.)**.  caniuse.com. Праверана 15 жніўня 2014.
14. ↑  Blend4Web: енджин за създаване на браузърни 3D сцени и приложения **(нявызн.)**.  Kaldata: Software, Hardware and Game Reviews. Праверана 4 верасня 2014.
15. ↑  Cozzi, Patrick. *WebGL Insights*. CRC Press, 2015 ISBN 978-1-4987-1607-9.
16. ↑  Blend4Web Update: Non Linear Animation and more **(нявызн.)**.  BlenderNation.com. Праверана 29 верасня 2014.
17. ↑  Выпущен фреймворк Blend4Web 14.09 **(нявызн.)**(недаступная спасылка).  digilinux.ru. Архівавана з першакрыніцы 28 верасня 2014. Праверана 29 верасня 2014.
18. ↑  Blend4web: annotations interactives et autres nouveautés **(нявызн.)**(недаступная спасылка).  Greg G.d.Bénicourt. Архівавана з першакрыніцы 14 мая 2016. Праверана 29 мая 2015.
19. ↑  Релиз движка для создания браузерных 3D-приложений Blend4Web 15.05 **(нявызн.)**.  OpenNet.ru. Праверана 18 чэрвеня 2015.
20. ↑  Blend4Web – Must-Have for Blender Fans! **(нявызн.)**(недаступная спасылка).  3ddey.com. Архівавана з першакрыніцы 1 чэрвеня 2015. Праверана 29 мая 2015.
21. ↑  3D-Web-Applikationen mit Blend4Web erstellen **(нявызн.)**(недаступная спасылка).  entwickler.de. Архівавана з першакрыніцы 3 сакавіка 2016. Праверана 29 мая 2015.
22. ↑  Blend4Web: Exporter Facilement en HTML **(нявызн.)**.  BlenderLounge. Праверана 17 ліпеня 2015.
23. ↑  Blender en tu Web: Blend4Web **(нявызн.)**.  PatrimonioVirtual.com. Праверана 13 жніўня 2014.
24. ↑  Blend4Web: Ferramenta publica projetos do Blender para Web **(нявызн.)**.  Allan Brito. Праверана 29 мая 2015.
25. ↑  Unity 5 Ships and Brings One Click WebGL Export to Legions of Game Developers **(нявызн.)**.  The Mozilla Blog. Праверана 16 чэрвеня 2015.
26. ↑  Why NASA Switched from Unity to Blend4Web **(нявызн.)**.  GameDev.Net. Праверана 11 верасня 2015.
27. ↑  The Good, The Bad and the WebGL-y **(нявызн.)**(недаступная спасылка).  benchung.com. Архівавана з першакрыніцы 22 чэрвеня 2015. Праверана 19 чэрвеня 2015.
28. ↑  New Online Exploring Tools Bring NASA's Journey to Mars to New Generation **(нявызн.)**.  NASA. Праверана 7 жніўня 2015.
29. ↑  Experience Curiosity **(нявызн.)**.  NASA's Eyes. Праверана 7 жніўня 2015.
30. ↑  Prenez le controle de Curiosity avec Blend4Web **(нявызн.)**(недаступная спасылка).  Greg G.d.Bénicourt. Архівавана з першакрыніцы 19 верасня 2015. Праверана 16 верасня 2015.
31. ↑  Internet 3D: Take the Curiosity Rover for a Spin Right on the NASA Website **(нявызн.)**.  Technology.Org. Праверана 12 жніўня 2015.
32. ↑  Khronos Events - 2015 SIGGRAPH **(нявызн.)**.  Khronos. Праверана 13 жніўня 2015.

Спасылкі
--------

* blend4web.com/ru — афіцыйны сайт