Blend4Web is a next-gen engine created to meet the 3D graphics needs of the modern Internet. The major distinguishing features of Blend4Web are that it works right in the web browser without installing any plug-ins and not only does it render 3D graphics but it also integrates realistic physics and spatial audio. It is extremely simple to use because it is based on Blender in which 3D scenes can be made and then directly exported, even as a standalone web page. In addition to these features, it is available as a fully functional open source version or as under a paid commercial license. The capabilities of our engine are demostrated on the demo page. The features of the framework are thoroughly explained in the user manual.
What kind of professional skills are required to create 3D web solutions with Blend4Web?You need a 3D artist. Experience working with Blender - the free and open source 3D authoring suite - is recommended but not necessary. Most 3D app development can be done without any coding.
The created 3D graphics can be deployed on web sites. No special skills are required, which means this can be done by a web master (please see the tutorial).
For complicated interactive apps or games you'll need a programmer with background in web development or game engines. Unemployed Flash coders may suit as well.
Is it really completely free? What's the catch?Blend4Web is distributed both under an open source license and a commercial license — you are free to choose which option suits you best. Choosing the open source license grants you the opportunity to develop applications of any complexity and quality absolutely free, provided that you follow the GPL rules. Open source and commercial licenses give you the same functionality. These options are different in two main ways. First, the commercial version includes source files of all the demo apps while the open source version does not. Second, when you use the commercial version, you are not obligated to share the source code of your applications.
What do I need your engine for if Unity&Unreal will soon support WebGL?History has shown that large companies often have trouble keeping pace with evolving technologies. The burden of their solutions prevents them from adapting quickly to changing conditions. Major game engine vendors are still considering the Web as just one of many feasible platforms. We do not agree with this position: the Web platform is the best and most unique. For this reason our engine code is written purely in JavaScript and therefore is compact and fast.
The Blend4Web team strives to keep up with the times. In a diverse world, open technologies and vendor-independence become fundamental values. There cannot exclusively be proprietary solutions and that's why the Blend4Web code is distributed under an open source license GPL. At the same time we ensure commercial development opportunities for our clients and provide a corresponding license.
We integrated our engine with Blender - the popular yet open source 3D creation suite. As a result we considerably simplified the pipeline by removing redundant stages such as scene tweaking and setting up materials for a specific engine.
An important point is that we also provide our users with technical support and extensive documentation.
Okay, but Unity and Unreal have become free, why would I need to purchase your product?Blend4Web is a lightweight, multipurpose engine ideal for creating typical web applications, including browser games.
Blend4Web has a free version which is distributed under true open source principles (GPL). Our development environment was initially created for the Linux ecosystem. The toolchain doesn't have any non-free dependencies. At the same time we do not enforce using open source components.
Our business model is transparent and we do not offer purchasing missing components after licensing.
Isn't this just another web viewer like P3D.in or Sketchfab?Our tool is fundamentally different: we don't lock our users to any web services. The apps and scenes created with Blend4Web can be deployed on your own web site. We also provide a handy option for sharing your 3D content - you can export your scene into a single self-contained HTML file.
My company and I have a great idea about a cool 3D web project. Why don't you join our dev team?As a rule, we don't directly participate in third-party projects. If you want a guaranteed result with your project, we would recommend purchasing a technical support subscription. In addition to that, we can assign a trainer to teach your team and even an expert to participate in your product development.
If your offer is too good to refuse, we will most assuredly consider partnering with you.
How can I get help with my app development?You are free to post your questions on our forums (which is preferred) or via social networking services. Only if privacy is a concern of yours, you can email us your question.
With the commercial license you can develop an unlimited number of apps and may distribute them under your own terms. We provide technical support for one year from the date the license was purchased. Also, the full source code and the models of all our demo apps are included in the commercial SDK. You can find the detailed licensing info on the corresponding webpage.
On how many computers can a single Blend4Web PRO be installed?A commercial license is linked to an individual developer and does not contain any limitations on the number of computers.
What is the updating policy, how much does it cost?There is no additional fee for commercial SDK updates provided that you have an active technical support subscription. The cost of standard technical support is included in the cost of the license. Standard technical support is provided for 1 year from the date the license was purchased. Afterwards, it can be prolonged if you wish.
Is the payment for the commercial license one-time or it is an annual subscription?The commercial license is perpetual. We charge a one-time fee for every individual developer. A developer can be replaced by a new one once per 6 months.
I'm developing an application for my customer and will transfer the exclusive intellectual property rights to him after the project is finished. Which one of us should purchase a commercial license?The commercial license grants the following rights: first, to develop, and second, to distribute Blend4Web-based applications. In this case, both the developer and the customer must purchase at least one commercial license each.
Our studio purchased commercial licenses and developed Blend4Web content for deploying on our client's website. Does our client need to have a Blend4Web license?Blend4Web cannot be sublicensed. Content deployed on your client's website will contain Blend4Web programming code and therefore, your client has to purchase a license. Still we are open to working with studios under our partnership program, which provides a significant discount on Blend4Web licenses to your customers.
Our company is hiring a freelancer to develop Blend4Web content. Does this freelancer need to have a license?Your company can purchase a license for itself and register the freelancer as its designated user. If you need, you can assign the license to another person but not more than once within a six-month period.
Blend4Web is being developed rapidly, with tons of features and improvements added monthly. This is beneficial for most users because frequent releases allow the framework to adapt to the constantly changing Internet environment and to promptly react to user requests.
However, this can also prove cumbersome since users are sometimes required to update their applications and fix possible issues in their code and 3D scenes arising from incompatibilities introduced in new releases.
In order to meet the demands of those of our customers who need to have a stable yet maintained Blend4Web PRO version, we offer the so called long-term supported (LTS) channel of updates. These updates never break compatibility so you can easily maintain your application over a prolonged period (namely, one year). At the same time, they ensure that your business solutions will always be working regardless of any changes in browsers, GPU drivers, operating systems or newly released mobile devices.
Should I use the Blend4Web PRO LTS?If you are in active development of your applications, then keeping up with the current Blend4Web releases requires very little extra effort. This ensures you get the most recent set of functionality as well as performance improvements and bug fixes.
However, as an application goes online, the maintenance of it is significantly simplified if you use the LTS channel because updates in this channel are always compatible with each other. You will never be required to review and fix the code or 3D scenes for your application until the next LTS version.
Generally, products derived from the GPL -licensed framework must be distributed under the same license. The model source files are required to be exported and further loaded in an application and hence are part of that app. Therefore, they must be opensourced similar to the app code itself.
We make an exception when the exported scenes are played back with the Blend4Web's standard web player (as separately loading JSON files but not as self-contained HTML files): if there were no changes introduced to the web player interface or logic, the scenes' source files are not required to be GPL-licensed.
What if I alter the web player interface (for example, remove/replace the logo)?You have a right to do that. However, using the engine's open source version means that you agree to all conditions of General Public License (GPL) and are responsible for publishing the code of the modified web player. If you purchased a commercial license, you may do whatever you want with the web player.
If I use the free version of Blend4Web on my website, do I have to publish the website's source code? Even the server-side?!One of the GPL conditions is the requirement to freely distribute the code of publicly available derivative products. In the case of a website, we will examine how important the website's different components are to the functioning of the Blend4Web-powered components. If the website's components are not deemed crucial to the Blend4Web parts, that is, the Blend4Web-powered components can work as standalone, you will not be required to publish their source code.
The quality of graphics mostly depends on perception. Of course, real-time graphics does not adequately compare to the result of heavy calculations lasting many hours, and gives way to modern movie FX produced on render farms.
The opportunity to display 3D graphics in web browsers has its price. Unlike technologies used for console and desktop video games, WebGL is based on mobile API OpenGL ES 2.0 (DirectX 9 level). There are additional restrictions due to policies of browser security. Also, JavaScript (the programming language in which the engine's renderer is written) is not as fast as compiled languages. That's why WebGL apps typically work slower than their console or desktop counterparts.
In spite of these drawbacks, the performance of the engine as well as the performance of browsers' WebGL and JavaScript has been steadily improving over time.
As for the ULTRA mode - it is intended to maximize the picture quality when running on high-end systems.
The demo on your site is loading too slowly.Some of our large-scale demos load a considerable amount of data at one time (The Farm — more than 120 Mb). If you launch these apps for the first time and have a slow network connection, their start can be prolonged. We are constantly working on speeding up the loading process.
Some unknown error occurred that is possibly related to the specific configuration of your computer or device. This can also happen when your software is outdated/experimental or due to a non-standard system setup. You may help us fix this error if you inform us of your operating system, video card (or device) and browser. We would be grateful if you send us a description of this error and/or a screenshot.
What is the SDK's Viewer used for? It can't even save anything.In the scene viewer it is very convenient to tweak scene parameters in real time. After tweaking, these parameters can be transferred to the corresponding blend file for permanent storing. Also it shows some useful scene info and outputs the engine's log, warnings and errors to the JavaScript console (can be opened with F12). Numerous models and intermediate scene assemblies for large projects can be viewed and checked as a catalogue.
I've exported my scene to a single HTML file but it doesn't work (or the picture is wrong) although I could still run your demos.There were errors while creating the scene. To check out what these errors are we strongly recommend to use the scene viewer with the open browser console. On our side, we strive to maximize the stability and predictability of the workflow.
There are no shadows, reflections or other effects on the scene.The engine works in low quality mode. This mode can be enabled by the user or it can be activated automatically if the browser does not support some important features (such as depth textures). In the latter case, we recommend trying another browser or operating system. For more control over how the materials look in low quality mode there is a special node - LEVELS_OF_QUALITY (since version 14.09).
Why does an object have different size and/or proportions after exporting to the engine?Objects' scale values must be the same for all the XYZ axes. Also, scaling of physical objects is not supported. The scale can be applied to an object's mesh with the Apply Scale command (Ctrl-A). It can also be applied automatically upon export if the Apply Scale checkbox is enabled under the object settings tab (since version 14.09).
Blender integration in no way prevents using other modeling suites. You can always transfer the models to Blender by using compatible formats e.g. OBJ or COLLADA. In the latter case, you can even use animation. However, you will need some basic knowledge in Blender in order to perform final exports.
When will the BGE's visual logic editor be supported?Blend4Web is not a port for the Blender Game Engine - it has different API and functionality. Nevertheless, our team understands the importance of a tool for visual logic editing. Since version 14.09 the engine has a feature for adding simple interactivity to scenes within the Blender interface without the need to write the code.
Also, according to the Blender development roadmap there are plans to merge the built-in game engine functionality with the Blender main code base. Therefore, the Blender Game Engine itself has been declared deprecated. Instead, it is proposed to perform visual logic programming directly in the modeling environment. When these plans will be realised, Blend4Web will be able to export and play back Blender-made interactive scenes.
When I install the add-on, an error message is shown that it is not compatible with my platform (I've got Windows 7 x64).This strange error occurs with some of our users. We are trying to reproduce it on our computers. In the meantime, we recommend you to install the 32-bit version of Blender.
An obscure message appears when I'm trying to export. What am I supposed to do?When exporting, scene settings are checked for conformance with engine requirements. The full description of possible error messages is referenced here. We are planning to achieve workflow stability under any settings.
Why are materials for Cycles not supported? What should I do if I have a lot of such objects?The Cycles renderer is not designed for work in real-time as it uses ray-tracing algorithms. Nevertheless, you can bake your Cycles materials into textures in order to use them in ordinary materials. On the other hand, Blend4Web supports shader nodes (aka node materials) which are fast enough in performance for real-time applications and at the same time make it possible to achieve a photo-realistic feel.
Nevertheless, taking into account the huge amount of already existing Cycles content and persistent requests from the community wishing to share their models on the Web, we have decided to initiate work on supporting Cycles materials in Blend4Web. More details.
The majority of opinions that were formed when JavaScript first appeared are now beneath criticism. Modern JavaScript is a high-performant language suitable for creating a wide range of products: from server frameworks to mobile apps. Browser engines implement optimizations that bring JavaScript to Java and C# performance level. By respecting certain rules, the load to the garbage collector - which can cause code execution pauses - can be reduced to a minimum.
We are not trying to convert JavaScript to a new programming language. Neither do we use classes. Instead, we practice the CommonJS-style module approach and strong typing. We also have an infrastructure for minifying the engine and application code with Closure Compiler.
I'm trying to move/rotate the object with the engine API but nothing happens.The objects must be dynamic in order to be moved via API, or they must have the Force Dynamic Object setting enabled. More detailed info is available in the user manual.
Is it possible to create Android/iOS applications with Blend4Web?Blend4Web works in standard browsers on all operating systems and devices including mobile devices. However, if you need to create a native Android or iOS application you can use the WebView component which is intended for web content integration into mobile apps and supports WebGL.
[2014-09-16] Initial release.
[2014-10-29] Updates in view of the forum launch and Unigine's refusal to implement WebGL support.
[2014-11-13] Six more answers added.
[2014-11-19] Three more answers added.
[2014-12-29] The BGE-related answer has been supplemented.
[2015-03-05] Added a question concerning the topic of "free" Unity&Unreal.
[2015-09-14] Updated the questions about Cycles and object transform API.
[2015-10-14] Terms of use for free Blend4Web were made more accurate.
[2016-02-18] Licensing section divided into two sections. Added two questions to the commercial licensing section.
[2016-04-25] Removed the VR question as Blend4Web supports various HMD devices (Oculus Rift, Cardboard) since version 15.12.
[2016-10-10] Added the LTS section.
[2016-11-30] The Cycles-related answer has been supplemented.