Clever Geek Handbook
📜 ⬆️ ⬇️

Blend4web

Blend4Web is an open framework for creating and displaying interactive 3D graphics in browsers . Blend4Web uses the open Blender 3D modeling package to prepare content.

Blend4web
Blend4Web Logo.png
Blend4web screenshots.png
Screenshots of demo applications
Type ofTools for interactive three-dimensional graphics
DeveloperTriumph
Written onJavaScript , Python , C , C ++
First edition
Latest version
conditionActive
LicenseGPLv3 or commercial
Siteblend4web.com/ru

Developed and released in 2014 by the Russian company Triumf, which also provides a commercial product license (including examples of ready-made applications) and technical support services.

Overview

Preparing audio-visual content for Blend4Web is done in the Blender 3D modeling and animation package. Content is reproduced via WebGL , Web Audio and other standard browser technologies, without using any extensions [2] .

The framework is distributed under dual licensing , under open GPLv3 and commercial licenses. The source code is in the repository on GitHub [3] .

A 3D scene is created in Blender and exported as a JSON file and a binary file for later download by the web application . The scene can also be exported as a single self-contained HTML file, into which the exported data is packed, the user interface of the web player and the executable code [4] . Export in HTML format is considered as the easiest way to work with Blend4Web [5] . A summary file with a minimum size of the order of 1 MB can be placed on a web page using the standard <iframe> element [6] . Blend4Web-based web applications can be deployed in popular social networks such as Facebook [7] and VKontakte .

The Blend4Web software components include JavaScript libraries , an addition to Blender, and a set of tools for configuring 3D scene settings, debugging, and optimization.

The development of Blend4Web was started by the Moscow company Triumph in 2010. The first public release took place on March 28, 2014 [8] .

At the end of 2017, project founders Yuri and Alexander Kovelenov left the company and began developing a new product, Verge3D [9] .

Features

The framework contains a number of components commonly found in game engines , including a sound source positioning system, a physics engine ( fork of the Bullet physics engine, ported to JavaScript ), an animation system, and an abstraction layer for programming game logic [10] .

Up to 8 animations of various types can be assigned to each object, including skeleton and vertex animation. The speed and direction of the animation, as well as the parameters of the particle systems (size, initial velocity and number) can be set using the API [11] .

Dynamic loading and unloading of data, lighting maps are supported, there is the possibility of simulating subsurface scattering [12] .

There are solutions for rendering outdoor scenes, including simulating the effects of wind, simulating water, atmospheric effects. The work of this functionality is demonstrated in the Ferma demo video , in which there are also numerous animated non-game characters , the ability to move around the location from a first-person perspective, the interaction with objects and vehicle control are implemented [13] .

Due to the use of WebGL cross-browser technology, Blend4Web works in all major [14] browsers , including mobile devices [15] . However, browsers with an experimental implementation of the WebGL standard, such as Internet Explorer , do not fully support the capabilities of Blend4Web [16] . There are applications that can work in the Tizen operating system, in particular, on the Samsung Gear S2 smart watch [17] .

Among the non-trivial features for browser frameworks are the following: optimization by combining draw calls, optimization of hidden objects by clipping, putting physical calculations into a separate execution flow , simulating the behavior of sea waves [18] .

In version 14.09, Blend4Web implements the ability to implement interactivity in 3D scenes using a tool for visual programming . The tool resembles Blender’s built-in game engine logic editor, in particular, as in BGE, visual logic blocks are used in the Blender interface. Animation sequences created by the artist are played in response to user interaction with certain three-dimensional objects [19] [20] .

Starting from version 15.03, Blend4Web supports attaching two-dimensional HTML elements (for example, information windows) to 3D objects (so-called annotations), as well as copying objects while the application is running (instantiating, English instancing ) [21] .

Among the effects on the basis of post-processing are supported luminous surfaces ( eng. Glow ), glare glare ( bloom ), depth of field of the camera , twilight rays , motion blur and mutual shading ( SSAO ) [22] .

Support for virtual reality devices was implemented at the end of 2015. The work of the Oculus Rift helmet is provided by the WebVR experimental API. [23]

Integration with Blender

The add-on for Blender is written in Python and C , and can be compiled for Linux x86 / x64, OS X x64 and MS Windows x86 / x64 platforms.

Profile settings Blend4Web is activated in the add-on settings. When switching to a profile, the Blender interface is rebuilt while all unsupported settings are deleted [24] .

 
Menu to switch to the profile Blend4Web

Blend4Web supports a number of Blender-specific functions, such as the nodal editor of materials (a tool for visual programming shaders ) [25] and a particle system [26] . There is also initial support for the non-linear animation editor (NLA) as part of the Blender package for creating simple scripts.

To obtain a similar visual result in the editor and in the browser ( WYSIWYG ), users are recommended to switch to the GLSL rendering mode available in Blender [27] .

Comparison with peers

Blender Game Engine

Like the built-in Blender game engine (Blender Game Engine, BGE), Blend4Web loads the scene data prepared in Blender without using any intermediate editor [5] . Blend4Web-based applications are designed to work in browsers, while BGE executables run outside of browsers [28] [29] . The Blend4Web APIs are implemented in JavaScript , in contrast to the Python -based APIs of the built-in Blender engine. Instead of the visual logic editor BGE, which is not supported in Blend4Web, the latter assumes the use of standard approaches adopted in web development.

Unity

In Unity, the ability to export to WebGL is available from version 5 [30] . The implementation of WebGL support, however, is experimental, in particular, in the WebGL version, in the near future, no support is planned for mobile devices, sound source positioning systems, video textures [31] .

Three.js

The Three.js WebGL library requires writing code to perform trivial tasks, which raises the threshold of entry and extends learning; In Blend4Web, most of the work involved in preparing online presentations does not require programming [32] .

Known use cases

NASA has developed an interactive web application for the third anniversary of the landing of the rover Chiuriositi [33] . The application [34] , created on the basis of Blend4Web, implemented the rover movement, camera and manipulator control, and also reproduced some known mission events [35] [36] . The application was presented at the beginning of the WebGL section at the SIGGRAPH 2015 conference [37] .

 
Experience Curiosity: Rover takes a selfie
 
Experience Curiosity: training mode
 
Experience Curiosity: Free Management Mode

Notes

  1. ↑ Release Blend4Web 17.08
  2. ↑ Blend4Web: the Open Source Solution for Online 3D (Unreferenced) . Mozilla Hacks. The appeal date is August 13, 2015.
  3. ↑ Blend4Web on GitHub (Undefined) . GitHub.com/TriumphLLC. The appeal date is August 11, 2014.
  4. ↑ Prakhov, Andrey (July, 2015). Blend4Web. Linux Format , p. 20.
  5. ↑ 1 2 Blend4Web, an Interactive 3D Viewer (Unreferenced) . BlenderNation.com. The appeal date is August 11, 2014.
  6. Blend4Web: A way to embed 3D content on a web page using WebGL (Undefined) . Belursus.info. The appeal date is September 4, 2014.
  7. ↑ Blender Models in Facebook (Undefeated) . Dalai Felinto. The date of circulation is September 11, 2015.
  8. ↑ Official site Blend4Web - About the project (Neopr.) . Blend4Web.com. The appeal date is August 13, 2015.
  9. ↑ Starting up (Unsolved) . soft8soft.com. The appeal date is August 13, 2018.
  10. ↑ Presented Blend4Web, an engine for creating browser-based 3D applications (Undefined) . OpenNet.ru. The appeal date is June 18, 2015.
  11. ↑ Release of the engine for creating browser-based 3D applications Blend4Web 14.08 (Unc.) . OpenNet.ru. The appeal date is August 13, 2015.
  12. Blend4Web update adds more lighting and more . BlenderNation.com. The appeal date is August 13, 2014.
  13. ↑ The Farm (Neopr.) . Chrome Experiments. The date of circulation is September 11, 2015.
  14. ↑ Can I use WebGL? (Neopr.) caniuse.com. The appeal date is August 15, 2014.
  15. ↑ HTML5, the 3D Web, and the Death of Plugins (Unreferenced) . 3dspace.com. The appeal date is February 18, 2016.
  16. ↑ Blend4Web: Endzhin for scrolling on the browser 3D scenes and applications (Undefined) . Kaldata: Software, Hardware and Game Reviews. The appeal date is September 4, 2014.
  17. ↑ Real Time 3D watchfaces for Luxury Gear S2 (Unopened) . Tizen Experts. The appeal date is August 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. The appeal date is September 29, 2014.
  20. ↑ Blend4Web 14.09 released (Undefined) . digilinux.ru. The appeal date is September 29, 2014.
  21. ↑ Blend4web: annotations interactives et autres nouveautés ( Neop .) . Greg GdBénicourt. The appeal date is May 29, 2015.
  22. ↑ The release of the engine for creating browser-based 3D applications Blend4Web 15.05 (Unidentified) . OpenNet.ru. The appeal date is June 18, 2015.
  23. ↑ Triumph releases Blend4Web 15.12 (Unsolved) . cgchannel.com. The appeal date is February 18, 2016.
  24. ↑ Blend4Web - Must-Have for Blender Fans! (Neopr.) 3ddey.com. The date of circulation is May 29, 2015. Archived on June 1, 2015.
  25. ↑ Interactives 3D Web - Ist Das Die Zukunft? (Neopr.) 3d-magazin.eu. The appeal date is September 16, 2016.
  26. ↑ 3D Web-Applikationen mit Blend4Web erstellen ( Neopr .) . entwickler.de. The appeal date is May 29, 2015.
  27. ↑ Blend4Web: Exporter Facilement en HTML (Uncategorized) . BlenderLounge. The appeal date is July 17, 2015.
  28. ↑ Blender en tu Web: Blend4Web (Unreferenced) . PatrimonioVirtual.com. The appeal date is August 13, 2014.
  29. ↑ Blend4Web: Ferramenta publica projetos do Blender para Web (Neopr.) . Allan Brito. The appeal date is May 29, 2015.
  30. Ity Unity 5 Ships and Brings One Click WebGL Export to Legions of Game Developers (Undefined) . The Mozilla Blog. The appeal date is June 16, 2015.
  31. ↑ Why NASA Switched from Unity to Blend4Web (Unopened) . GameDev.Net. The date of circulation is September 11, 2015.
  32. ↑ The Good, The Bad and the WebGL-y (Neopr.) . benchung.com. The date of circulation is June 19, 2015. Archived June 22, 2015.
  33. A New Online Exploring Tools Briefing (NASA ) . Nasa The appeal date is August 7, 2015.
  34. ↑ Experience Curiosity (Unsolved) . NASA's Eyes. The appeal date is August 7, 2015.
  35. ↑ Prenez le controle de Curiosity avec Blend4Web (Unc.) . Greg GdBénicourt. The appeal date is September 16, 2015.
  36. ↑ Internet 3D: Take a Spin Right on the NASA Website (Unreferenced) . Technology.Org. The appeal date is August 12, 2015.
  37. ↑ Khronos Events - 2015 SIGGRAPH (Neopr.) . Khronos. The appeal date is August 13, 2015.

Links

  • blend4web.com/ru - the official site Blend4Web
Source - https://ru.wikipedia.org/w/index.php?title=Blend4Web&oldid=94504180


More articles:

  • Cherkizovo (Molzhaninovsky District)
  • Raznikova, Natalia
  • Rural Settlement "Oybontovskoe"
  • Rural Settlement "Arendinskoe"
  • Rural settlement "Dolgokychinskoe"
  • St. Leonhard am Forst
  • Scammonius
  • Stratzing
  • Novoshchapovsky rural district
  • Sampaio, Sarah

All articles

Clever Geek | 2019