This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these messages)
|
Developer(s) | Triumph LLC |
---|---|
Initial release | March 28, 2014 [1] |
Final release | 18.05 / June 6, 2018 |
Written in | JavaScript, Python, C, C++ |
Type | 3D engine |
License | GPLv3 or commercial |
Website | www |
Blend4Web is a free and open source framework for creating and displaying interactive 3D computer graphics in web browsers.
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. [2]
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. [3]
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 iframe HTML element. [6] Blend4Web-powered web applications can be deployed on social networking websites such as Facebook. [7]
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. [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.
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. [11]
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]
Among other supported features are: scene data dynamic loading and unloading, subsurface scattering simulation, and image-based lighting. [13]
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]
Other features include: draw call batching, hidden surface determination, threaded physics simulation and ocean simulation. [19]
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 following post-processing effects are supported: glow, bloom, depth of field, crepuscular rays, motion blur, and screen space ambient occlusion. [24]
Virtual reality devices have been supported since the end of 2015. Specifically, Oculus Rift head-mounted display works over experimental WebVR API. [25]
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]
Starting from version 17.08, finger tracking is supported through the Leap Motion device. [29]
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. [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]
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]
Experience Curiosity was ported to Verge3D for Blender in 2018 with several performance improvements and bug fixes. [39]
A General Motors authorized dealer in the United Arab Emirates has placed a functional Chevrolet Camaro 3D configurator on its website. [40] [41]
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]
Blender is a free and open-source 3D computer graphics software tool set that runs on Windows, MacOS, BSD, Haiku, IRIX and Linux. It is used for creating animated films, visual effects, art, 3D-printed models, motion graphics, interactive 3D applications, virtual reality, and, formerly, video games.
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).
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 Blender Game Engine was a free and open-source 3D production suite used for making real-time interactive content. It was previously embedded within Blender, but support for it was dropped in 2019, with the release of Blender 2.8. The game engine was written from scratch in C++ as a mostly independent component, and includes support for features such as Python scripting and OpenAL 3D sound.
Web3D, also called 3D Web, is a group of technologies to display and navigate websites using 3D computer graphics.
3D computer graphics software refers to packages used to create 3D computer-generated imagery.
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.
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.
Sketchfab is a 3D asset website used 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.
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.
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.
JanusVR was a company based in San Mateo, California, and Toronto, Ontario, that developed 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 portrayed web content in multi-dimensional spaces interconnected by portals. The company shut down in 2019, but released their code as open source in the hopes that the community would continue its development.
OpenFL is a free and open-source software framework and platform for the creation of multi-platform applications and video games. OpenFL applications can be written in Haxe, JavaScript, or TypeScript, and may be published as standalone applications for several targets including iOS, Android, HTML5, Windows, macOS, Linux, WebAssembly, Flash, AIR, PlayStation 4, PlayStation 3, PlayStation Vita, Xbox One, Wii U, TiVo, Raspberry Pi, and Node.js.
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 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."
Babylon.js is a JavaScript library and 3D engine for displaying real time 3D graphics in a web browser via HTML5. The source code is available on GitHub and distributed under the Apache License 2.0.
Verge3D is a real-time renderer and a toolkit used for creating interactive 3D experiences running on websites.
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.