Blend4Web 17.02 Released
2017-02-28
We are delighted to announce a new release of the ultimate 3D Web suite Blend4Web, a complete offline platform for creating online 3D experiences. In this version you'll discover new features in the Project Manager, even more additions to VR, new Cycles nodes/sockets supported, improvements in Blender/Blend4Web user interface and a massive amount of API methods reworked to extend programmable control over various aspects of 3D web apps. There is also a new demo - a simple 3D configurator for jewelry, which shows the newly introduced feature in action, namely, swapping node-based materials. Yes, this is now possible either via API or simply using logic nodes with no coding!
Project Manager
The Project Manager acquired a visual configuration utility which can be launched with the [config] link near your project name. With it you can change some project parameters after a project has been created.
You can now also make a full copy of your own project using the clone command (not available for stock projects yet).
You can also generate JavaScript source maps for your applications which you can use to debug the minified version of your app. The feature is enabled with
The following is an important change: “External” engine type is now unavailable. All old projects of this type will automatically be converted to “Copy”. And here is more sugar: some often-used settings are check-boxed by default (namely, app&scene starter files) so you can just click "Create Project" right away and it'll work without the need to dig any deeper.
There were also some cosmetic changes in the user interface of the PM so that it now matches the layout of the website.
Blender UI
Speaking of UI/UX, we are continuing to simplify the Blender interface. For now, the Render and Help menus have been modified to display only entries relevant to Blend4Web.
If a particular editor is not supported (such as BGE's Logic Editor, Video Sequence Editor and some others), there will now be the corresponding message at the bottom of the editor window. Also, the Physics tab has been removed from the left tool shelf as it is never used.
Finally, Blend4Web credits have been added to the splash screen to quickly check availability and the current version.
Cycles
Working on Cycles nodes continues. Now, the Displacement output is supported to easily add bump to a material. Also, the Transparent BSDF node from the Shader category is now supported. It is used to add transparency without refraction, passing straight through the surface, as if there were no geometry there.
Swapping Node Materials
The functionality for replacing materials in runtime, typically found in product configurators of various kinds, now works with node-based materials of arbitrary complexity. As with generic materials, you can use the logic editor or the dedicated API method to do it in your app. Check out the following live demo (original ring model by BlenderBach).
Please note that you'll need to enable the Dynamic Geometry & Materials property for both source and target objects (this option was previously called Dynamic Geometry).
Code Snippets
You can now clone a programming example from the Code Snippets and use it as a basis for your new project in the Project Manager. To clone a snippet, simply click the "Make Project" button (obviously you'll have to do it locally and not on the blend4web.com website). As you can see, the UI of Code Snippets has been made more mobile-friendly and compact.
Camera Sensor Fit
Support for Horizontal and Auto camera sensor fits has been added. The camera fit settings serve to adapt the camera's field of view to the layout of your scenes. For more info see the Blender manual.
UV Layers
The limitation of maximum two UV layers per mesh has been lifted. Also, if a UV layer is not specified then the active layer is used instead of the first layer in the list as it was previously. Unused UV layers will not be exported unless the object property Dynamic Geometry & Materials is enabled.
VR
We continue working on VR. Now, switching to VR mode in WebVR-capable browsers can be done in runtime without reloading the application. When in VR mode, camera autorotation will now be automatically disabled as it is you who wants to be in control of the camera with your head, right? We have also added support for the newest WebVR 1.1 specification.
We have also started working with the popular VR headset HTC Vive. Adding support for the exciting controllers is planned for the next release.
Other Improvements
Exporting data is now customizable thanks to the new field b4w_custom_prop assigned on per-object or per-scene level. This option is exported to the .json Blend4Web format and can be accessed in runtime via API. An example on how to use this feature can be found in the addons/blend4web/custom_prop_example.py file in the SDK.
Wind bending parameters can now be set and extracted via API. A special Wind Bending menu was added to the Viewer interface.
Skeletal animation blending now works correctly for two animations. This feature is still experimental and the API is subject to change.
The installation procedure slightly changed as the Blender add-on is now activated from a separate category of the User Preferences simply named Blend4Web (before you needed to search through the long list in the Import-Export section).
New parameters for quality of shadows and reflections have been added to the config module. So it is now possible to modify these settings via API as well.
In Closing
There were tons of other API changes with many new methods added and some old methods removed. Please refer to the full list of these and the other changes as well as bug fixes in the release notes. As always, we welcome your feedback or suggestions for new functionality on the forums.