Blend4Web

Last updated
Blend4Web
Developer(s) Triumph LLC
Stable release
18.05 / June 6, 2018;5 years ago (2018-06-06)
Written in JavaScript, Python, C, C++
Type 3D engine
License GPLv3 or commercial
Website www.blend4web.com

Blend4Web is a free and open source framework for creating and displaying interactive 3D computer graphics in web browsers.

Contents

Overview

The Blend4Web framework leverages Blender to edit 3D scenes. Content rendering relies on WebGL, Web Audio, WebVR, and other web standards, without the use of plug-ins. [1]

It is dual-licensed. The framework is distributed under the free and open source GPLv3 and, a non-free license - with the source code being hosted on GitHub. [2]

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. [3] The HTML option is considered to be the simplest way. [4] The resulting file, which has a minimum size of 1 MB, can be embedded in a web page using a standard iframe HTML element. [5] Blend4Web-powered web applications can be deployed on social networking websites such as Facebook. [6]

The Blend4Web toolchain consists of JavaScript libraries, the Blender add-on, and a set of tools for tweaking 3D scene parameters, debugging, and optimization.

Developed by Moscow-based company Triumph in 2010, Blend4Web was publicly released on March 28, 2014. [7]

At the end of 2017, the project founders Yuri and Alex Kovelenov quit Triumph to start the development of a new WebGL framework Verge3D. [8]

In October 2019, an "Absolutely new Blend4Web" [9] was announced, planned to make developing 3D apps easier and to add a new marketplace where people can offer their 3D models.

Features

The framework has a number of components typically found in game engines, including a positional audio system, physics engine (a fork of Bullet ported to JavaScript), animation system, and an abstraction layer for game logic programming. [10]

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

Among other supported features are: scene data dynamic loading and unloading, subsurface scattering simulation, and image-based lighting. [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. [13]

Being based on the cross-browser WebGL API, Blend4Web runs in the majority [14] of web browsers, including mobile ones. [15] There are some caveats for browsers with experimental WebGL support, such as Internet Explorer. [16] There are also applications developed to run on Tizen-powered devices such as the Samsung Gear S2 smartwatch. [17]

Other features include: draw call batching, hidden surface determination, threaded physics simulation and ocean simulation. [18]

In version 14.09, Blend4Web introduced the possibility of adding interactivity to 3D scenes using a visual programming tool. [19] [20] 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. [21]

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"). [22]

The following post-processing effects are supported: glow, bloom, depth of field, crepuscular rays, motion blur, and screen space ambient occlusion. [23]

Virtual reality and augmented reality

Virtual reality devices have been supported since the end of 2015. Specifically, Oculus Rift head-mounted display works over experimental WebVR API. [24]

The software also now includes preliminary support for gamepads, based on the Gamepad API. [25]

In 2017, the option to author augmented reality content was added. [26] The system is based on the open-source tracking library ARToolKit and uses the WebRTC protocols. [27]

Starting from version 17.08, finger tracking is supported through the Leap Motion device. [28]

Blender integration

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

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

Blend4Web supports a set of Blender-specific features such as the node material editor (a tool for visual shader programming) [30] and the particle system. [31] 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. [32]

Notable uses

NASA developed an interactive web application called Experience Curiosity to celebrate the 3rd anniversary of the Curiosity rover landing on Mars. [33] This Blend4Web-based app [34] 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. [35] [36] The application got presented at the beginning of the WebGL section at SIGGRAPH 2015. [37]

Experience Curiosity was ported to Verge3D for Blender in 2018 with several performance improvements and bug fixes. [38]

A General Motors authorized dealer in the United Arab Emirates has placed a functional Chevrolet Camaro 3D configurator on its website. [39] [40]

Greenpeace created interactive 3D infographics to back Greenpeace's Detox campaign in Russia. [41] Tallink featured an interactive 3D presentation of its MS Megastar vessel to allow visitors to browse details of the ship. [42]

See also

Related Research Articles

<span class="mw-page-title-main">Blender (software)</span> 3D computer graphics software

Blender is a free and open-source 3D computer graphics software tool set used for creating animated films, visual effects, art, 3D-printed models, motion graphics, interactive 3D applications, virtual reality, and, formerly, video games. Blender's features include 3D modelling, UV mapping, texturing, digital drawing, raster graphics editing, rigging and skinning, fluid and smoke simulation, particle simulation, soft body simulation, sculpting, animation, match moving, rendering, motion graphics, video editing, and compositing.

X3D is a set of royalty-free ISO/IEC standards for declaratively representing 3D computer graphics. X3D includes multiple graphics file formats, programming-language API definitions, and run-time specifications for both delivery and integration of interactive network-capable 3D data. X3D version 4.0 has been approved by Web3D Consortium, and is under final review by ISO/IEC as a revised International Standard (IS).

jMonkeyEngine Open source Java game engine

jMonkeyEngine is an open-source and cross-platform game engine for developing 3D games written in Java. It uses shader technology extensively and can be used to write games for Windows, Linux, macOS, Raspberry Pi, Android, and iOS. It uses Lightweight Java Game Library as its default renderer and another renderer based on Java OpenGLand also supports OpenGL 2 to OpenGL 4.

<span class="mw-page-title-main">OpenSceneGraph</span>

OpenSceneGraph is an open-source 3D graphics application programming interface, used by application developers in fields such as visual simulation, computer games, virtual reality, scientific visualization and modeling.

The canvas element is part of HTML5 and allows for dynamic, scriptable rendering of 2D shapes and bitmap images. It is a low level, procedural model that updates a bitmap. HTML5 Canvas also helps in making 2D games.

Web3D, also called 3D Web, is a group of technologies to display and navigate websites using 3D computer graphics.

<span class="mw-page-title-main">WebGL</span> JavaScript bindings for OpenGL in web browsers

WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics, image processing, and effects in the HTML canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.

<span class="mw-page-title-main">Away3D</span>

Away3D is an open-source platform for developing interactive 3D graphics for video games and applications, in Adobe Flash or HTML5. The platform consists of a 3D world editor, a 3D graphics engine, a 3D physics engine and a compressed 3D model file format (AWD).

CopperLicht is an open-source JavaScript library for creating games and interactive 3D applications using WebGL, developed by Ambiera. The aim of the library is to provide an API for making it easier developing 3D content for the web. It is supposed to be used together with its commercial 3D world editor CopperCube, but it can also be used without.

<span class="mw-page-title-main">Sketchfab</span> 3D modeling platform website

Sketchfab is a 3D modeling platform website to publish, share, discover, buy and sell 3D, VR and AR content. It provides a viewer based on the WebGL and WebXR technologies that allows users to display 3D models on the web, to be viewed on any mobile browser, desktop browser or Virtual Reality headset.

<span class="mw-page-title-main">Flare3D</span>

Flare3D is a framework for developing interactive three-dimensional (3D) graphics within Adobe Flash Player, Adobe Substance and Adobe AIR, written in ActionScript 3. Flare3D includes a 3D object editor and a 3D graphics engine for rendering 3D graphics. Flare3D runs on current web browsers utilizing the Adobe Flash Player, and uses Stage3D for GPU-accelerated rendering. Flare3D has not been under active development since late 2014.

<span class="mw-page-title-main">PlayCanvas</span>

PlayCanvas is an open-source 3D game engine/interactive 3D application engine alongside a proprietary cloud-hosted creation platform that allows for simultaneous editing from multiple computers via a browser-based interface. It runs in modern browsers that support WebGL, including Mozilla Firefox and Google Chrome. The engine is capable of rigid-body physics simulation, handling three-dimensional audio and 3D animations.

<span class="mw-page-title-main">JanusVR</span> Virtual reality company

JanusVR is a corporation based in San Mateo, California, and Toronto, Ontario, that develops immersive web browsing software. It was founded by James McCrae and Karan Singh in December 2014. Named after Janus, the Roman God of passages, JanusVR portrays web content in multi-dimensional spaces interconnected by portals.

<span class="mw-page-title-main">Natron (software)</span> Open source compositing software

Natron is a free and open-source node-based compositing application. It has been influenced by digital compositing software such as Avid Media Illusion, Apple Shake, Blackmagic Fusion, Autodesk Flame and Nuke, from which its user interface and many of its concepts are derived.

Experience Curiosity is an interactive web application developed by NASA's Jet Propulsion Laboratory to celebrate the third anniversary of the Curiosity rover landing on Mars. This 3D serious game makes it possible to operate the rover, control its cameras and the robotic arm and reproduces some of the prominent events of the Mars Science Laboratory mission. The application was presented at the beginning of the WebGL section at SIGGRAPH 2015.

glTF 3D scene and model file format

glTF is a standard file format for three-dimensional scenes and models. A glTF file uses one of two possible file extensions: .gltf (JSON/ASCII) or .glb (binary). Both .gltf and .glb files may reference external binary and texture resources. Alternatively, both formats may be self-contained by directly embedding binary data buffers. An open standard developed and maintained by the Khronos Group, it supports 3D model geometry, appearance, scene graph hierarchy, and animation. It is intended to be a streamlined, interoperable format for the delivery of 3D assets, while minimizing file size and runtime processing by apps. As such, its creators have described it as the "JPEG of 3D."

<span class="mw-page-title-main">Babylon.js</span> Real-time 3D rendering engine for JavaScript

Babylon.js is a real time 3D engine using a JavaScript library for displaying 3D graphics in a web browser via HTML5. The source code is available on GitHub and distributed under the Apache License 2.0.

<span class="mw-page-title-main">Verge3D</span> Real-time renderer and toolkit software

Verge3D is a real-time renderer and a toolkit used for creating interactive 3D experiences running on websites.

Facebook 3D Posts was a feature on the social networking website Facebook. It was first enabled on October 11, 2017 by introducing a new native 3D media type in Facebook News Feed. Initially the users could only post 3D objects from Oculus Medium and marker drawings from Spaces directly to Facebook as fully interactive 3D objects. The feature was available for desktops and mobile phones that support the underlying WebGL API.

<span class="mw-page-title-main">NASA's Eyes</span> Computer visualization software

NASA's Eyes Visualization is a freely available suite of computer visualization applications created by the Visualization Technology Applications and Development Team at NASA's Jet Propulsion Laboratory (JPL) to render scientifically accurate views of the planets studied by JPL missions and the spacecraft used in that study. The Eyes family of products is available for desktop computers running Windows 7+, and Mac OSX 10.8+. Deep Space Network Now and Experience Curiosity are web-based and available across all platforms. 3D models of spacecraft and other objects are displayed with the option of comparing their size to a human, school bus, or football stadium.

References

  1. "Blend4Web: the Open Source Solution for Online 3D". Mozilla Hacks. 2014-10-07. Retrieved 2015-08-13.
  2. "Blend4Web on GitHub". GitHub.com/TriumphLLC. Retrieved 2014-08-11.
  3. Прахов, Андрей (Июль, 2015). "Blend4Web". Linux Format, стр. 20.
  4. "Blend4Web, an Interactive 3D Viewer". BlenderNation.com. 11 July 2014. Retrieved 2014-08-11.
  5. "Blend4Web: способ вставить 3D-содержание на веб-страницу с использованием WebGL" (in Russian). Belursus.info. Archived from the original on 2015-06-26. Retrieved 2014-09-04.
  6. "Blender Models in Facebook". Dalai Felinto. 2015-09-10. Archived from the original on 2016-03-04. Retrieved 2015-09-11.
  7. "Blend4Web Official Site - About". Blend4Web.com. Retrieved 2015-08-13.
  8. "Starting up". Soft8Soft. 5 October 2017. Retrieved 2017-11-23.
  9. "New Blend4Web". Blend4Web. Archived from the original on 2021-02-25. Retrieved 2021-03-07.
  10. "Представлен Blend4Web, движок для создания браузерных 3D-приложений". OpenNet.ru. Retrieved 2015-06-18.
  11. "Релиз движка для создания браузерных 3D-приложений Blend4Web 14.08". OpenNet.ru. Retrieved 2015-08-13.
  12. "Blend4Web update adds improved lighting and more". BlenderNation.com. 25 July 2014. Retrieved 2014-08-13.
  13. "Blend4Web: "The Farm" - Demo einer kleinen virtuellen Welt". Echt Virtuell. 17 September 2014. Retrieved 2014-09-18.
  14. "Can I use WebGL?". caniuse.com. Retrieved 2014-08-15.
  15. "HTML5, the 3D Web, and the Death of Plugins". 3dspace.com. Archived from the original on 2016-02-15. Retrieved 2016-02-18.
  16. "Blend4Web: енджин за създаване на браузърни 3D сцени и приложения". Kaldata: Software, Hardware and Game Reviews. 7 April 2014. Retrieved 2014-09-04.
  17. "Real Time 3D watchfaces from Luxury Watches for the Gear S2". Tizen Experts. Retrieved 2016-08-12.
  18. Cozzi, Patrick. WebGL Insights. CRC Press, 2015 ISBN   978-1-49-871607-9.
  19. "Blend4Web Update: Non Linear Animation and more". BlenderNation.com. 29 September 2014. Retrieved 2014-09-29.
  20. "Выпущен фреймворк Blend4Web 14.09". digilinux.ru. Archived from the original on 2014-09-28. Retrieved 2014-09-29.
  21. "Blend4Web: обзор новинки отечественного софтопрома". Habrahabr.ru. Retrieved 2015-06-04.
  22. "Blend4web: annotations interactives et autres nouveautés". Greg G.d.Bénicourt. Archived from the original on 2016-05-14. Retrieved 2015-05-29.
  23. "Релиз движка для создания браузерных 3D-приложений Blend4Web 15.05". OpenNet.ru. Retrieved 2015-06-18.
  24. "Triumph releases Blend4Web 15.12". cgchannel.com. Retrieved 2016-02-18.
  25. "Triumph releases Blend4Web 16.08". cgchannel.com. Retrieved 2016-09-14.
  26. "Blend4Web 17.06 is Out". 80 Level. 7 July 2017. Retrieved 2017-07-14.
  27. "Blend4Web 17.06 adds augmented reality support". cgchannel.com. Retrieved 2017-07-14.
  28. "Blend4Web". blog.r23.de. 5 September 2017. Retrieved 2017-09-07.
  29. "Blend4Web – Must-Have for Blender Fans!". 3ddey.com. Archived from the original on 2015-06-01. Retrieved 2015-05-29.
  30. "Interactives 3D Web – Ist Das Die Zukunft?". 3d-magazin.eu. Retrieved 2016-09-16.
  31. "3D-Web-Applikationen mit Blend4Web erstellen". entwickler.de. Archived from the original on 2016-03-03. Retrieved 2015-05-29.
  32. "Blend4Web: Exporter Facilement en HTML". BlenderLounge. Retrieved 2015-07-17.
  33. "New Online Exploring Tools Bring NASA's Journey to Mars to New Generation". NASA. 5 August 2015. Retrieved 2015-08-07.
  34. "Experience Curiosity". NASA's Eyes. Retrieved 2015-08-07.
  35. "Prenez le controle de Curiosity avec Blend4Web". Greg G.d.Bénicourt. Archived from the original on 2015-09-19. Retrieved 2015-09-16.
  36. "Internet 3D: Take the Curiosity Rover for a Spin Right on the NASA Website". Technology.Org. 11 August 2015. Retrieved 2015-08-12.
  37. "Khronos Events - 2015 SIGGRAPH". Khronos. 10 August 2015. Retrieved 2015-08-13.
  38. "Experience Curiosity: NASA turns to Verge3D". Soft8Soft. 27 June 2018. Retrieved 2018-11-03.
  39. "BLEND4WEB: UN CONFIGURATEUR POUR CHEVROLET". benicourt.com. Retrieved 2017-06-23.
  40. "Al Ghandi Auto". Al Ghandi Auto. Retrieved 2017-06-23.
  41. "Чистая мода - Гринпис России". Greenpeace. Retrieved 2016-09-14.[ dead link ]