Blog

Blend4Web 16.03 Released

2016-03-31

We are glad to present a new version of Blend4Web, the platform for creating interactive 3D Web content. In this release you'll find new functionality in the logic editor, the first series of realistic materials for the material library, internationalization and SDK improvements.

Petigor's Tale

Earlier this month you were introduced to our big game which demonstrates the possibilities of Blend4Web in game development. Petigor's Tale is available to play on a dedicated website. For more details please read this article.

Petigor's training.

We are glad to announce that all source files for this game are available to study and modify as part of the open source Blend4Web SDK starting with this version.

Material Library

This version of the SDK now also includes the first series of 7 quality materials such as metals, plastics, glass, etc.

Blend files for these materials can be found in the directory blender/material_library/. Each material is contained in a separate file yet the files are distributed across categories (nested directories named glass, metal, plastic etc).

Logic Editor

We keep extending the possibilities of the logic editor. Starting today, different execution threads (which start with an Entry Point node) inside a node tree can communicate with each other via global variables. In order to give a variable global scope, simply enable Global in the corresponding Variable Store node.

Creating a new global variable.

Variables which are set by one thread can be used to control the execution flow in another.

App logic changes depending on its state.

In the example above, the system automatically switches between "busy" and "available" every two seconds. Therefore, clicking the button can lead to different outcomes depending on the state of the system.

The logic editor now offers two new nodes. The Get Timeline node allows the user to obtain the current timeline frame. The JSON node is intended for (de)serialization of data received from/sent to a remote server.

Also, the Play Animation and Stop Animation nodes have been improved: they can now be used to animate environment parameters as demonstrated below.

And the last, the logic editor can now handle objects on scenes rendered to texture.

SDK Improvements

Starting from this release we will keep add-on compatibility with older Blender versions when possible. Particularly, this release is compatible with both Blender 2.76 and Blender 2.77.

The Blend4Web tool panel now offers a new option, Update Material Animation (disabled by default). If enabled, this option allows you to see and tweek animation of node materials right in the Blender viewport.

Update Material Animation option.

The Project Manager can now work independently from Blender (run project_server.py script).

The Render tab has been updated with the Dynamic Grass option with three values available. ON means that the engine behaves as if dynamic grass is always present in the scene, OFF disables it completely while AUTO means that the engine checks for dynamic grass on the scene and renders it when present.

Dynamic Grass option.

The ON option is useful for cases when grass objects are dynamically loaded from external scenes.

Internationalization (aka i18n)

As you may have already noticed we have started working on the Chinese version of our website. Due to increasing interest to our product from Chinese-speaking users, we intend to translate all documentation and the majority of our tutorials into Chinese, as well as to offer technical support and assistance on forums in Chinese. We are grateful to our users from Blender communities located in China and Taiwan for their help with this work.

Also, to simplify translation to other languages by bilingual translators around the world, we have decided to switch to using English as the source language in the User Manual .po files instead of Russian.

API Development

After lots of refactoring two new programming modules have emerged. The mathematical module math currently contains methods for working with parametric lines and planes as well as other auxiliary methods.

The input module abstracts and unifies access to input devices of various kind (mouse, keyboard, touchscreen, gyroscope, HMD). As a result, app programmers can now work with input devices without needing to know about their internal specifics.

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.

We remind you that there is only one month left until the first Blend4Web Conference ever! You can read more about this event at this page.

Comments
09 apr. 2016 23:21
Some great new features here! Global variables in the Logic Editor = awesome. And those materials look really nice.
Please register or log in to leave a reply.