Blend4Web

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 26 iulie 2018; verificările necesită 17 modificări .
Blend4Web
Tip de Instrumente pentru grafică 3D interactivă
Dezvoltator Triumf
Scris in JavaScript , Python , C , C++
Prima editie 28 martie 2014
ultima versiune 18.05.0
Stat Activ
Licență GPLv3 sau comercial
Site-ul web blend4web.com

Blend4Web  este un cadru open source pentru crearea și afișarea graficelor 3D interactive în browsere . Blend4Web folosește pachetul de modelare 3D open source Blender pentru a pregăti conținutul.

Dezvoltat și lansat în 2014 de compania rusă Triumph, care oferă, de asemenea, o licență de produs comercial (inclusiv exemple de aplicații gata făcute) și servicii de asistență tehnică.

Prezentare generală

Pregătirea conținutului audio-vizual pentru Blend4Web se realizează în pachetul de modelare și animație 3D Blender . Conținutul este redat folosind WebGL , Web Audio și alte tehnologii standard de browser, fără utilizarea vreunei extensii [1] .

Cadrul este distribuit în condițiile de licențiere duală , sub licențe deschise GPLv3 și comerciale . Codul sursă se află în depozitul de pe GitHub [2] .

Scena 3D este creată în Blender și exportată ca fișier JSON și fișier binar pentru a fi încărcat de aplicația web . Scena poate fi, de asemenea, exportată ca un singur fișier HTML autonom , care împachetează datele exportate, interfața de utilizator a playerului web și codul executabil [3] . Exportul în format HTML este considerat cel mai simplu mod de a lucra cu Blend4Web [4] . Fișierul rezultat cu o dimensiune minimă de aproximativ MB poate fi plasat pe o pagină web folosind elementul standard [5] . Aplicațiile web bazate pe Blend4Web pot fi implementate pe rețele sociale populare, cum ar fi Facebook [6] și VKontakte . <iframe>

Componentele software Blend4Web includ biblioteci JavaScript , un program de completare pentru Blender și un set de instrumente pentru setarea parametrilor scenei 3D, depanare și optimizare.

Dezvoltarea Blend4Web a fost începută de compania Triumph din Moscova în 2010. Prima lansare publică a avut loc pe 28 martie 2014 [7] .

Caracteristici

Cadrul conține o serie de componente întâlnite în mod obișnuit în motoarele de joc , inclusiv un sistem de poziționare a surselor de sunet, un motor fizic ( o furcă a motorului de fizică Bullet portat la JavaScript ), un sistem de animație și un strat de abstractizare pentru programarea logicii jocului [8] ] .

Fiecărui obiect pot fi alocate până la 8 animații de diferite tipuri, inclusiv animații scheletice și de vârf. Viteza și direcția animației, precum și parametrii sistemelor de particule (dimensiune, viteză inițială și număr) pot fi setate prin intermediul API [9] .

Încărcarea și descărcarea dinamică a datelor, hărțile luminoase sunt acceptate , este posibilă simularea împrăștierii subterane [10] .

Există soluții pentru redarea scenelor în aer liber, inclusiv simularea vântului, simularea apei, efectele atmosferice. Funcționarea acestei funcționalități este demonstrată în videoclipul demonstrativ Farm , care conține, de asemenea, numeroase personaje animate non-jucatoare , capacitatea de a se deplasa în jurul locației cu o vedere la persoana întâi, interacțiunea cu obiecte și controlul vehiculului [11] .

Datorită utilizării tehnologiei WebGL încrucișate, Blend4Web funcționează în toate browserele [12] majore , inclusiv dispozitivele mobile [13] . Cu toate acestea, în browserele cu o implementare experimentală a standardului WebGL, cum ar fi Internet Explorer , caracteristicile Blend4Web nu sunt pe deplin acceptate [14] . Există aplicații care pot rula pe sistemul de operare Tizen , în special, pe smartwatch-urile Samsung Gear S2 [ 15] .

Printre caracteristicile care nu sunt banale pentru cadrele de browser, sunt numite următoarele: optimizarea prin combinarea apelurilor de desen, optimizarea prin tăierea obiectelor ascunse, efectuarea de calcule fizice într-un fir de execuție separat , simularea comportamentului valurilor mării [16] .

În versiunea 14.09, Blend4Web a implementat capacitatea de a implementa interactivitate în scene 3D folosind instrumentul de programare vizuală . Instrumentul seamănă cu editorul logic al motorului de joc încorporat al lui Blender, în special, ca și BGE, folosește blocuri logice vizuale construite în interfața Blender. Secvențele de animație create de artist sunt redate ca răspuns la interacțiunea utilizatorului cu anumite obiecte 3D [17] [18] .

Începând cu versiunea 15.03, Blend4Web acceptă atașarea elementelor HTML 2D (de exemplu, ferestre de informații) la obiecte 3D (așa-numitele adnotări), precum și copierea obiectelor în timp ce aplicația rulează ( instanțare ) [ 19] . 

Efectele de post-procesare acceptate includ suprafețele strălucitoare ( strălucire ), înflorirea  , adâncimea câmpului camerei , razele crepusculare , estomparea mișcării și umbrirea încrucișată ( SSAO ) [20] .

Suportul pentru dispozitivele de realitate virtuală a fost implementat la sfârșitul anului 2015. Funcționarea căștii Oculus Rift este asigurată de API-ul experimental WebVR . [21]

Integrare cu Blender

Suplimentul Blender este scris în Python și C și poate fi compilat pentru platformele Linux x86/x64, OS X x64 și MS Windows x86/x64.

Profilul de setări Blend4Web este activat în setările suplimentului. Comutarea la un profil reconstruiește interfața Blender și elimină toate setările neacceptate în același timp [22] .

Blend4Web acceptă o serie de caracteristici specifice Blender-ului, cum ar fi editorul de materiale nod (un instrument pentru programarea vizuală a shaderului ) [23] și sistemul de particule [24] . Există, de asemenea, suport inițial pentru un editor de animație neliniară (NLA) ca parte a pachetului Blender pentru crearea de scripturi simple.

Pentru un rezultat vizual similar în editor și în browser ( WYSIWYG ), utilizatorii sunt sfătuiți să treacă la modul de randare GLSL oferit de Blender [25] .

Comparație cu colegii

Blender Game Engine

La fel ca motorul de joc încorporat al lui Blender ( Blender Game Engine , BGE), Blend4Web încarcă date de scenă pregătite de Blender fără a utiliza vreun editor intermediar [4] . Aplicațiile bazate pe Blend4Web sunt proiectate să ruleze în browsere, în timp ce executabilele BGE rulează în afara browserelor [26] [27] . API -urile Blend4Web sunt implementate în JavaScript , spre deosebire de API-urile bazate pe Python ale motorului încorporat al lui Blender. În loc de un editor logic BGE vizual, care nu este acceptat de Blend4Web, acesta din urmă presupune utilizarea abordărilor standard de dezvoltare web.

Unitate

Unity a putut să exporte în WebGL începând cu versiunea 5 [28] . Implementarea suportului WebGL, totuși, este de natură experimentală, în special, în versiunea WebGL, suportul pentru dispozitive mobile, sisteme de poziționare a surselor de sunet și texturi video nu este planificat în viitorul apropiat [29] .

three.js

Biblioteca Three.js WebGL necesită scrierea de cod pentru a efectua sarcini banale, ceea ce crește pragul de intrare și prelungește curba de învățare; în Blend4Web, majoritatea lucrărilor de pregătire a prezentărilor online nu necesită programare [30] .

Utilizări cunoscute

NASA a dezvoltat o aplicație web interactivă pentru a treia aniversare de la aterizarea roverului Curiosity [31] . Aplicația bazată pe Blend4Web [32] implementează mișcarea roverului, controlul camerei și al manipulatorului și reproduce unele evenimente de misiune cunoscute [33] [34] . Aplicația a fost prezentată la începutul secțiunii WebGL la SIGGRAPH 2015 [35] .

Note

  1. Blend4Web: soluția Open Source pentru 3D online . Hack-uri Mozilla. Preluat la 13 august 2015. Arhivat din original la 4 martie 2016.
  2. Blend4Web pe GitHub . GitHub.com/TriumphLLC. Preluat la 11 august 2014. Arhivat din original la 5 mai 2016.
  3. Prahov, Andrey (iulie 2015). Blend4web. Format Linux , pagina 20.
  4. 1 2 Blend4Web, un vizualizator 3D interactiv . BlenderNation.com. Consultat la 11 august 2014. Arhivat din original la 15 februarie 2016.
  5. Blend4Web: O modalitate de a insera conținut 3D într-o pagină web folosind WebGL (downlink) . Belursus.info. Consultat la 4 septembrie 2014. Arhivat din original la 26 iunie 2015. 
  6. Blender Models pe Facebook . Dalai Felinto. Consultat la 11 septembrie 2015. Arhivat din original pe 4 martie 2016.
  7. Site oficial Blend4Web - Despre proiect . Blend4web.com. Preluat la 13 august 2015. Arhivat din original la 1 iulie 2015.
  8. Este introdus Blend4Web, un motor pentru crearea de aplicații 3D bazate pe browser . OpenNet.ru. Data accesului: 18 iunie 2015. Arhivat din original pe 3 martie 2016.
  9. Lansarea motorului pentru crearea aplicațiilor 3D bazate pe browser Blend4Web 14.08 . OpenNet.ru. Preluat la 13 august 2015. Arhivat din original la 3 martie 2016.
  10. Actualizarea Blend4Web adaugă iluminare îmbunătățită și multe altele . BlenderNation.com. Preluat la 13 august 2014. Arhivat din original la 15 februarie 2016.
  11. Ferma . Experimente Chrome. Consultat la 11 septembrie 2015. Arhivat din original la 5 octombrie 2016.
  12. Pot folosi WebGL? . canius.com. Preluat la 15 august 2014. Arhivat din original la 20 aprilie 2015.
  13. HTML5, Web-ul 3D și Death of Plugins (link în jos) . 3dspace.com. Consultat la 18 februarie 2016. Arhivat din original pe 15 februarie 2016. 
  14. Blend4Web: Inginer de browser pentru scene 3D și aplicații . Kaldata: recenzii de software, hardware și jocuri. Data accesului: 4 septembrie 2014. Arhivat din original pe 3 martie 2016.
  15. Fețe de ceas 3D în timp real de la Ceasuri de lux pentru Gear S2 . Experți Tizen. Preluat la 12 august 2016. Arhivat din original la 29 septembrie 2016.
  16. Cozzi, Patrick. WebGL Insights . CRC Press, 2015 ISBN 978-1-4987-1607-9 .
  17. Actualizare Blend4Web: animație non-liniară și multe altele . BlenderNation.com. Data accesului: 29 septembrie 2014. Arhivat din original la 31 ianuarie 2016.
  18. Cadrul Blend4Web 14.09 lansat (link descendent) . digilinux.ru Consultat la 29 septembrie 2014. Arhivat din original pe 28 septembrie 2014. 
  19. Blend4web: adnotări interactive și alte nouveautés (downlink) . Greg GdBénicourt. Preluat la 29 mai 2015. Arhivat din original la 14 mai 2016. 
  20. Lansarea motorului pentru crearea aplicațiilor 3D bazate pe browser Blend4Web 15.05 . OpenNet.ru. Data accesului: 18 iunie 2015. Arhivat din original pe 3 martie 2016.
  21. Triumph lansează Blend4Web 15.12 . cgchannel.com. Data accesului: 18 februarie 2016. Arhivat din original pe 20 septembrie 2016.
  22. Blend4Web - Must-Have pentru fanii Blender! (link indisponibil) . 3ddey.com. Data accesului: 29 mai 2015. Arhivat din original la 1 iunie 2015. 
  23. Interactives 3D Web - Ist Das Die Zukunft? . 3d-magazin.eu. Preluat la 16 septembrie 2016. Arhivat din original la 19 septembrie 2016.
  24. 3D-Web-Applicationen mit Blend4Web erstellen (link descendent) . entwickler.de. Preluat la 29 mai 2015. Arhivat din original la 3 martie 2016. 
  25. Blend4Web: Exporter Faciliment en HTML . Blender Lounge. Data accesului: 17 iulie 2015. Arhivat din original la 17 iulie 2015.
  26. Blender în tu Web: Blend4Web . PatrimonioVirtual.com. Preluat la 13 august 2014. Arhivat din original la 1 ianuarie 2015.
  27. Blend4Web: Ferramenta publică proiecte de Blender pentru Web . Allan Brito. Preluat la 29 mai 2015. Arhivat din original la 29 iunie 2015.
  28. Unity 5 livrează și aduce exportul WebGL cu un singur clic către Legions of Game Developers . Blogul Mozilla. Preluat la 16 iunie 2015. Arhivat din original la 3 martie 2016.
  29. De ce NASA a trecut de la Unity la Blend4Web . gamedev.net. Preluat la 11 septembrie 2015. Arhivat din original la 12 septembrie 2015.
  30. Bunul, răul și WebGL-y . benchung.com. Consultat la 19 iunie 2015. Arhivat din original pe 22 iunie 2015.
  31. Noile instrumente de explorare online aduc noua generație călătoria NASA pe Marte . NASA. Preluat la 7 august 2015. Arhivat din original pe 15 februarie 2016.
  32. Experimentează curiozitatea . Ochii NASA. Preluat la 7 august 2015. Arhivat din original la 6 august 2015.
  33. Prenez le controle de Curiosity cu Blend4Web (downlink) . Greg GdBénicourt. Consultat la 16 septembrie 2015. Arhivat din original la 19 septembrie 2015. 
  34. Internet 3D: Luați roverul Curiosity pentru o învârtire chiar pe site-ul NASA . technology.org. Preluat la 12 august 2015. Arhivat din original la 21 februarie 2016.
  35. Khronos Events - 2015 SIGGRAPH . Khronos. Preluat la 13 august 2015. Arhivat din original la 3 martie 2016.

Link -uri