Blend4Web

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 26 juli 2018; kontroller kräver 17 redigeringar .
Blend4Web
Sorts Verktyg för interaktiv 3D-grafik
Utvecklaren Triumf
Skrivet i JavaScript , Python , C , C++
Första upplagan 28 mars 2014
senaste versionen 18.05.0
stat Aktiva
Licens GPLv3 eller kommersiell
Hemsida blend4web.com

Blend4Web  är ett ramverk med öppen källkod för att skapa och visa interaktiv 3D-grafik i webbläsare . Blend4Web använder Blender 3D-modelleringspaketet med öppen källkod för att förbereda innehåll.

Utvecklat och släppt 2014 av det ryska företaget Triumph, som även tillhandahåller en kommersiell produktlicens (inklusive exempel på färdiga applikationer) och tekniska supporttjänster.

Översikt

Förberedelse av audiovisuellt innehåll för Blend4Web utförs i Blender 3D-modellerings- och animationspaketet . Innehåll spelas upp med hjälp av WebGL , Web Audio och andra vanliga webbläsartekniker, utan användning av några tillägg [1] .

Ramverket distribueras under villkoren för dubbla licenser , under de öppna GPLv3 och kommersiella licenserna. Källkoden finns i arkivetGitHub [2] .

3D-scenen skapas i Blender och exporteras som en JSON -fil och en binär fil som ska laddas av webbapplikationen . Scenen kan också exporteras som en enda, fristående HTML -fil som packar exporterad data, webbspelarens användargränssnitt och den körbara koden [3] . Export i HTML-format anses vara det enklaste sättet att arbeta med Blend4Web [4] . Den resulterande filen med en minsta storlek på cirka MB kan placeras på en webbsida med hjälp av standardelementet [5] . Blend4Web-baserade webbapplikationer kan distribueras på populära sociala nätverk som Facebook [6] och VKontakte . <iframe>

Programvarukomponenterna för Blend4Web inkluderar JavaScript-bibliotek , ett tillägg för Blender och en uppsättning verktyg för att ställa in 3D-scenparametrar, felsökning och optimering.

Utvecklingen av Blend4Web startades av Moskvaföretaget Triumph 2010. Den första offentliga utgivningen ägde rum den 28 mars 2014 [7] .

Funktioner

Ramverket innehåller ett antal komponenter som vanligtvis finns i spelmotorer , inklusive ett positioneringssystem för ljudkälla, en fysikmotor ( en gaffel från Bullet physics-motorn portad till JavaScript ), ett animationssystem och ett abstraktionslager för programmering av spellogik [8 ] .

Upp till 8 animationer av olika typer kan tilldelas varje objekt, inklusive skelett- och vertexanimationer. Hastigheten och riktningen för animeringen, såväl som parametrarna för partikelsystem (storlek, initial hastighet och antal) kan ställas in via API:et [9] .

Dynamisk laddning och avlastning av data, ljuskartor stöds , det är möjligt att simulera spridning under ytan [10] .

Det finns lösningar för att rendera utomhusscener, inklusive vindsimulering, vattensimulering, atmosfäriska effekter. Arbetet med denna funktion demonstreras i Farm -demovideon , som också innehåller många animerade icke-spelarekaraktärer , möjligheten att flytta runt på platsen med en förstapersonsvy, interaktion med objekt och fordonskontroll [11] .

På grund av användningen av WebGL -teknik för flera webbläsare fungerar Blend4Web i alla större [12] webbläsare , inklusive mobila enheter [13] . Men i webbläsare med en experimentell implementering av WebGL-standarden, såsom Internet Explorer , stöds inte Blend4Web-funktioner fullt ut [14] . Det finns applikationer som kan köras på operativsystemet Tizen , i synnerhet på Samsung Gear S2 smartwatches [ 15] .

Bland de funktioner som inte är triviala för webbläsarramverk kallas följande: optimering genom att kombinera ritanrop, optimering genom att skära bort dolda objekt, göra fysiska beräkningar i en separat exekveringstråd , simulera havsvågornas beteende [16] .

I version 14.09 implementerade Blend4Web möjligheten att implementera interaktivitet i 3D-scener med hjälp av det visuella programmeringsverktyget . Verktyget liknar logikredigeraren i Blenders inbyggda spelmotor, i synnerhet, som BGE, använder det visuella logikblock inbyggda i Blender-gränssnittet. Animationssekvenser skapade av artisten spelas som svar på användarinteraktion med vissa 3D-objekt [17] [18] .

Från och med version 15.03 stöder Blend4Web att bifoga 2D HTML-element (till exempel infofönster) till 3D-objekt (så kallade annoteringar), samt att kopiera objekt medan applikationen körs ( instansering ) [ 19] . 

Efterbehandlingseffekter som stöds inkluderar glödande ytor ( glöd ), blomning  , kameras skärpedjup , skymningsstrålar , rörelseoskärpa och korsskuggning ( SSAO ) [20] .

Stöd för virtuell verklighetsenheter implementerades i slutet av 2015. Driften av Oculus Rift- hjälmen tillhandahålls av det experimentella WebVR API . [21]

Integration med Blender

Blender -tillägget är skrivet i Python och C och kan kompileras för Linux x86/x64, OS X x64 och MS Windows x86/x64-plattformar.

Inställningsprofilen för Blend4Web är aktiverad i tilläggsinställningarna. Att byta till en profil bygger om Blender-gränssnittet och tar bort alla inställningar som inte stöds samtidigt [22] .

Blend4Web stöder ett antal Blender-specifika funktioner såsom nodmaterialredigeraren (ett verktyg för visuell shader- programmering ) [23] och partikelsystemet [24] . Det finns också initialt stöd för en icke-linjär animationsredigerare (NLA) som en del av Blender-paketet för att skapa enkla skript.

För ett liknande visuellt resultat i redigeraren och i webbläsaren ( WYSIWYG ), rekommenderas användare att byta till GLSL -renderingsläget som tillhandahålls av Blender [25] .

Jämförelse med jämnåriga

Blender Game Engine

Liksom Blenders inbyggda spelmotor ( Blender Game Engine , BGE) laddar Blend4Web in Blender-förberedd scendata utan att använda någon mellanredigerare [ 4] . Blend4Web-baserade applikationer är designade för att köras i webbläsare, medan BGE körbara körs utanför webbläsare [26] [27] . Blend4Webs API :er är implementerade i JavaScript , till skillnad från de Python -baserade API:erna i Blenders inbyggda motor. Istället för en visuell BGE-logikredigerare, som inte stöds av Blend4Web, förutsätter den senare användningen av standardmetoder för webbutveckling.

Unity

Unity har kunnat exportera till WebGL sedan version 5 [28] . Implementeringen av WebGL-stöd är dock experimentell till sin natur, i synnerhet i WebGL-versionen är stöd för mobila enheter, ljudkällas positioneringssystem och videotexturer inte planerat inom en snar framtid [29] .

three.js

Three.js WebGL-biblioteket kräver skrivning av kod för att utföra triviala uppgifter, vilket höjer ingångströskeln och förlänger inlärningskurvan; i Blend4Web kräver det mesta av arbetet med att förbereda onlinepresentationer inte programmering [30] .

Kända användningsområden

NASA har utvecklat en interaktiv webbapplikation för treårsdagen av landningen av Curiosity-rover [31] . Den Blend4Web-baserade applikationen [32] implementerar roverrörelser, kamera- och manipulatorkontroll och återger några kända uppdragshändelser [33] [34] . Ansökan presenterades i början av WebGL-sektionen på SIGGRAPH 2015 [35] .

Anteckningar

  1. Blend4Web: lösningen med öppen källkod för 3D online . Mozilla-hackar. Hämtad 13 augusti 2015. Arkiverad från originalet 4 mars 2016.
  2. Blend4Web på GitHub . GitHub.com/TriumphLLC. Hämtad 11 augusti 2014. Arkiverad från originalet 5 maj 2016.
  3. Prakhov, Andrey (juli 2015). Blend4web. Linux-format , sida 20.
  4. 1 2 Blend4Web, en interaktiv 3D-visare . BlenderNation.com. Hämtad 11 augusti 2014. Arkiverad från originalet 15 februari 2016.
  5. Blend4Web: Ett sätt att infoga 3D-innehåll på en webbsida med hjälp av WebGL (nedlänk) . Belursus.info. Hämtad 4 september 2014. Arkiverad från originalet 26 juni 2015. 
  6. Blender Models på Facebook . Dalai Felinto. Hämtad 11 september 2015. Arkiverad från originalet 4 mars 2016.
  7. Blend4Web officiella webbplats - Om projektet . Blend4web.com. Hämtad 13 augusti 2015. Arkiverad från originalet 1 juli 2015.
  8. Blend4Web, en motor för att skapa webbläsarbaserade 3D-applikationer, introduceras . OpenNet.ru. Tillträdesdatum: 18 juni 2015. Arkiverad från originalet 3 mars 2016.
  9. Release av motorn för att skapa webbläsarbaserade 3D-applikationer Blend4Web 14.08 . OpenNet.ru. Hämtad 13 augusti 2015. Arkiverad från originalet 3 mars 2016.
  10. Blend4Web-uppdateringen lägger till förbättrad belysning och mer . BlenderNation.com. Hämtad 13 augusti 2014. Arkiverad från originalet 15 februari 2016.
  11. Gården . Chrome-experiment. Hämtad 11 september 2015. Arkiverad från originalet 5 oktober 2016.
  12. Kan jag använda WebGL? . canius.com. Hämtad 15 augusti 2014. Arkiverad från originalet 20 april 2015.
  13. HTML5, 3D-webben och plugins död (nedlänk) . 3dspace.com. Hämtad 18 februari 2016. Arkiverad från originalet 15 februari 2016. 
  14. Blend4Web: Webbläsaringenjör för 3D-scener och appar . Kaldata: Programvara, hårdvara och spelrecensioner. Tillträdesdatum: 4 september 2014. Arkiverad från originalet 3 mars 2016.
  15. Realtid 3D-urtavlor från Luxury Watches for the Gear S2 . Tizen-experter. Hämtad 12 augusti 2016. Arkiverad från originalet 29 september 2016.
  16. Cozzi, Patrick. WebGL Insights . CRC Press, 2015 ISBN 978-1-4987-1607-9 .
  17. Blend4Web Update: Icke linjär animering och mer . BlenderNation.com. Datum för åtkomst: 29 september 2014. Arkiverad från originalet 31 januari 2016.
  18. Blend4Web 14.09 ramverk släppt (nedlänk) . digilinux.ru Hämtad 29 september 2014. Arkiverad från originalet 28 september 2014. 
  19. Blend4web: annotations interactives et autres nouveautés (nedlänk) . Greg GdBénicourt. Hämtad 29 maj 2015. Arkiverad från originalet 14 maj 2016. 
  20. Release av motorn för att skapa webbläsarbaserade 3D-applikationer Blend4Web 15.05 . OpenNet.ru. Tillträdesdatum: 18 juni 2015. Arkiverad från originalet 3 mars 2016.
  21. Triumph släpper Blend4Web 15.12 . cgchannel.com. Datum för åtkomst: 18 februari 2016. Arkiverad från originalet 20 september 2016.
  22. Blend4Web - måste för blenderfans! (inte tillgänglig länk) . 3ddey.com. Tillträdesdatum: 29 maj 2015. Arkiverad från originalet 1 juni 2015. 
  23. Interactives 3D Web - Ist Das Die Zukunft? . 3d-magazin.eu. Hämtad 16 september 2016. Arkiverad från originalet 19 september 2016.
  24. 3D-Web-Applicationen mit Blend4Web erstellen (nedlänk) . entwickler.de. Hämtad 29 maj 2015. Arkiverad från originalet 3 mars 2016. 
  25. Blend4Web: Exporter Facilement en HTML . Blender Lounge. Datum för åtkomst: 17 juli 2015. Arkiverad från originalet 17 juli 2015.
  26. Blender en tu Web: Blend4Web . PatrimonioVirtual.com. Hämtad 13 augusti 2014. Arkiverad från original 1 januari 2015.
  27. Blend4Web: Ferramenta publica projetos do Blender para Web . Allan Brito. Hämtad 29 maj 2015. Arkiverad från originalet 29 juni 2015.
  28. Unity 5 skickas och ger ett klick WebGL-export till legioner av spelutvecklare . Mozilla-bloggen. Hämtad 16 juni 2015. Arkiverad från originalet 3 mars 2016.
  29. Varför NASA bytte från Unity till Blend4Web . gamedev.net. Hämtad 11 september 2015. Arkiverad från originalet 12 september 2015.
  30. The Good, The Bad and the WebGL-y . benchung.com. Hämtad 19 juni 2015. Arkiverad från originalet 22 juni 2015.
  31. Nya onlineutforskningsverktyg Ta med NASA:s resa till Mars till en ny generation . NASA. Hämtad 7 augusti 2015. Arkiverad från originalet 15 februari 2016.
  32. Upplev nyfikenhet . NASA:s ögon. Hämtad 7 augusti 2015. Arkiverad från originalet 6 augusti 2015.
  33. Prenez le control de Curiosity avec Blend4Web (nedlänk) . Greg GdBénicourt. Hämtad 16 september 2015. Arkiverad från originalet 19 september 2015. 
  34. Internet 3D: Ta en runda med Curiosity Rover direkt på NASA:s webbplats . technology.org. Hämtad 12 augusti 2015. Arkiverad från originalet 21 februari 2016.
  35. Khronos-händelser - 2015 SIGGRAPH . Khronos. Hämtad 13 augusti 2015. Arkiverad från originalet 3 mars 2016.

Länkar