A 3D scene can be prepared in Blender and then exported as a pair of JSON and binary files to load in a web application. It can also be exported as a single, self-contained HTML file, in which exported data, the web player GUI, and the engine itself are packed.[4] The HTML option is considered to be the simplest way.[5] The resulting file, which has a minimum size of 1 MB, can be embedded in a web page using a standard iframeHTML element.[6] Blend4Web-powered web applications can be deployed on social networking websites such as Facebook.[7]
Developed by Moscow-based company Triumph in 2010, Blend4Web was publicly released on March 28, 2014.[8]
At the end of 2017, the project founders Yuri and Alex Kovelenov quit Triumph to start the development of a new WebGL framework Verge3D.[9]
In October 2019, an "Absolutely new Blend4Web"[10] was announced, planned to make developing 3D apps easier and to add a new marketplace where people can offer their 3D models.
Up to 8 different types of animations can be assigned to a single object, including skeletal and per-vertex animation. The speed and the direction of animation (forward/backward play), as well as particle system parameters (size, initial velocity, and count), can be changed through the API.[12]
Some out-of-box options exist for rendering extended outdoor environments, including foliage-wind interaction, water, atmosphere, and sunlight simulation. One example demonstrating these effects is "The Farm" tech demo, which also features multiple animated NPCs and the ability to walk, interact with objects and drive a vehicle in first-person mode.[14]
Being based on the cross-browser WebGL API, Blend4Web runs in the majority[15] of web browsers, including mobile ones.[16] There are some caveats for browsers with experimental WebGL support, such as Internet Explorer.[17] There are also applications developed to run on Tizen-powered devices such as the Samsung Gear S2 smartwatch.[18]
In version 14.09, Blend4Web introduced the possibility of adding interactivity to 3D scenes using a visual programming tool.[20][21] The tool is reminiscent of the BGE's logic editor as it uses logic blocks that are placed inside Blender. It plays back animation tracks authored by an artist when the user interacts with predefined 3D objects.[22]
Since version 15.03, Blend4Web has supported attaching HTML elements (such as information windows) to 3D objects ("annotations") and copying objects in run time ("instancing").[23]
The software also now includes preliminary support for gamepads, based on the Gamepad API.[26]
In 2017, the option to author augmented reality content was added.[27] The system is based on the open-source tracking library ARToolKit and uses the WebRTC protocols.[28]
A Blend4Web-specific profile can be activated in the add-on settings. When switching to this profile, the Blender interface changes so that it only reveals settings relevant to Blend4Web.[30]
Blend4Web supports a set of Blender-specific features such as the node material editor (a tool for visual shader programming)[31] and the particle system.[32] There is basic support for Blender's non-linear animation (NLA) editor for creating simple scenarios.
Blend4Web is based on Blender's real-time GLSL rendering engine, which users are recommended to use in order to enable WYSIWYG editing.[33]
Notable uses
NASA developed an interactive web application called Experience Curiosity to celebrate the 3rd anniversary of the Curiosity rover landing on Mars.[34] This Blend4Web-based app[35] makes it possible to operate the rover, control its cameras and the robotic arm, and reproduce some of the prominent events of the Mars Science Laboratory mission.[36][37] The application got presented at the beginning of the WebGL section at SIGGRAPH 2015.[38]
Greenpeace created interactive 3D infographics to back Greenpeace's Detox campaign in Russia.[42]Tallink featured an interactive 3D presentation of its MS Megastar vessel to allow visitors to browse details of the ship.[43]