Blend4Web

З пляцоўкі Вікіпедыя
Перайсці да навігацыі Перайсці да пошуку
Blend4Web
Тып Інструментарый для інтэрактыўнай трохмернай графікі
Аўтар Трыумф
Распрацоўшчык Трыумф
Напісана на JavaScript, Python, C, C++
Першы выпуск 28 сакавіка 2014
Апошняя версія
Стан У актыўнай распрацоўцы
Ліцэнзія GPLv3 або камерцыйная
Сайт blend4web.com

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].

Асаблівасці[правіць | правіць зыходнік]

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

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

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

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

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

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

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

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

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

Інтэграцыя з Blender[правіць | правіць зыходнік]

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

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

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

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

Параўнанне з аналагамі[правіць | правіць зыходнік]

Blender Game Engine[правіць | правіць зыходнік]

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

Unity[правіць | правіць зыходнік]

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

Three.js[правіць | правіць зыходнік]

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

Вядомыя выпадкі выкарыстання[правіць | правіць зыходнік]

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

Зноскі

  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. 5,0 5,1 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. Представлен 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. Праверана 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.

Спасылкі[правіць | правіць зыходнік]