Blend4Web 16.04 Released
2016-04-28
We are glad to present a new version of Blend4Web, the platform for creating interactive 3D Web content. In this release you'll find preliminary support for gamepads and game controllers, new features in the logic editor, reflection for transparent objects and new options for the particle system.
Blend4Web Conference
There are just a few days left until the first Blend4Web conference. We have prepared a bunch of exclusive features, showcases and demos, which you'll see for the very first time at the conference on May 1 in Moscow. We will be providing live coverage of this event on the conference page where you will be able to ask the presenters your questions via chat.
Gamepads and Game Controllers
In this release we started working on new features based on the Gamepad API specification. A new Gamepad device has been added to the input module along with two sensors, Gamepad Buttons and Gamepad Axes, which have been added to the controls module.
For more details on this feature see the "VR and Web API with Blend4Web" presentation scheduled for the Blend4Web Conference.
Logic Editor
We continue improving the node-based Logic Editor. For cases when the logic editor is not suitable for a specific task, we have added the possibility for a logic tree and JavaScript code to interact with each other.
An entry point of a node tree can be triggered by calling the new run_entrypoint() method:
var m_logic_nodes = b4w.require("logic_nodes");
m_logic_nodes.run_entrypoint("MyScene", "MyEntryPoint");
The Entry Point must have a Run From Script option enabled.
We have also added the new JS Callback node, which executes a callback function predefined in your app. It allows to pass any parameters in either direction. This function can be registered by the append_custom_callback() API method provided by a new module called logic_nodes.
m_logic_nodes.append_custom_callback("my_function", function() {
alert("Hello World!");
});
Reflection of Transparent Objects
Before this release only opaque objects could be reflected. Now, the reflection of transparent objects is also supported.
Particle System
Blender's native options Tilt: Angle and Tilt: Random are now supported for Emitter particle systems. These options allow the user to specify angular offset for emitted billboards, which, in turn, greatly improves visual quality of effects based on particle systems.
To find out more about these options, see the "Think outside the box: Visual Effects" workshop at the Blend4Web Conference.
Other Improvements
Math modules vec3, vec4, quat, mat3 and mat4 are now based on glMatrix v2.3.1. This version also adds support for the following methods: hermite, bezier, sqlerp, fromRotationTranslationScale and fromRotationTranslationScaleOrigin.
A new option, Bake Only Deform Bones, has been added to the Skeletal Animation Baker. Previously, it was not possible to bake non-deform bones. This feature can be helpful in cases when some object is parented to such a bone.
The new GL Debug switch in the Viewer app has been introduced to disable WebGL error checking. This increases the performance and can be useful in scene profiling.
A new method has been added to the controls module: create_hmd_position_sensor(). This function allows application programmers to create a sensor to track the position of an HMD device.
The new prevent_caching engine configuration option was added to enable/disable caching of assets.
The new apply_force_world() method has been added to the physics module. This method can be used to apply a constant force to an object in the world space.
In Closing
This Blend4Web release is compatible with Blender 2.77 and 2.76. As usual, all source files of the examples mentioned in this article are included in the free Blend4Web SDK. The full list of changes and bug fixes can be seen in the release notes.