Blog

Blend4Web 15.05 Released

2015-05-26

We are glad to present a new release of Blend4Web - an open source software framework for creating interactive 3D web applications. In this release you'll find the glow effect, dynamic cube-mapped reflections, support for more NLA tools and extended possibilities of world textures, particle systems and the camera controls.

Glow Effect

After many months of trial and error and looking for the most optimal solution, we are finally ready to reveal this awesome feature to you. Halo around luminous objects (which appears due to light scattering in the atmosphere and inside the human eye) is a well known effect used both in cinema and in the game industry. From now on, you too can create such beautiful surfaces in Blend4Web.

To make material glow, you simply go to the node editor and add a B4W_GLOW_OUTPUT node group. As with the standard Blender's Output node, it is not necessary to connect this node to anything.

Adding a B4W_GLOW_OUTPUT node. The simplest glowing material possible.

While the Glow Color setting is self-explanatory, what offers an artist the most possibilities is the Factor input, to which a texture and/or procedural mask can be passed, including animated ones.

The width and the intensity of the halo can be tweaked with the help of the corresponding settings under the World tab - separately for the nearest (Small Glow Mask) and the farthest (Large Glow Mask) blurred areas.

Glow settings.

Render Glow Materials Over Blend provides the user with control over overlapping halos and transparent surfaces.

Dynamic Cube-Mapped Reflections

Up until now Blend4Web supported only dynamic planar reflections, but from today on, our users can create objects with their surface reflecting everything surrounding them.

Dynamic Cube-Mapped Reflections.

As for planar reflections, it is now possible to rotate and move the reflection plane, so now you can manipulate mirrors in run-time. Both of these new options are demonstrated in a small yet impressive demo. You may also want to check out the user manual for reflection setup.

Non-Linear Animation

It is now much more enjoyable to work with animation because we have supported Blender's NLA playback settings: Muted and Reversed, and also such settings as Scale and Repeat.

NLA editor. For the selected strip, Scale is used for accelerating the animation and Repeat to repeat it several times. Two other objects play back their animation in reverse with the help of the Reversed option. Bolt and nuts were created in the Bolt Factory add-on.

This functionality is also supported in the NLA Script - our visual logic editor.

Also, to provide controls over non-linear animation via API we have created a new module nla.js. This module includes methods such as play(), stop(), get_frame() and set_frame() which allow the user to play back and to stop the non-linear animation, as well as to get and to set the current frame. The new methods were engaged in the Viewer application for implementing the NLA controls interface.

World Texture Settings

We continued developing functionality for setting up the background - its color can now be combined with a texture.

The result of mixing of a world texture with the background color.

World texture setting in Blender.

We have added support for parameters of the Influence panel which are used for setting up the world texture. Particularly, Blend, Horizon, Zenith Up, Zenith Down, mixing types, RGB to Intensity, Negative and DVar are all supported. You can see these new features in action if you run this example.

Camera Control Mode API

Currently Blend4Web supports four typical camera control modes - Target (rotating around a pivot), Eye (a first-person view), Hover (gliding over a surface) and Static (non-interactive). The camera control mode is assigned in Blender, and starting today it can be changed during run-time. The Code Snippets have obtained a new example of this.

An example of using the API for switching the camera control modes.

Possible usage examples include: temporary blocking of unwanted camera movements in an app; switching from the observe mode to the active camera control mode as a character or from a car.

Other Improvements

Now, connecting sockets of different types in node materials is allowed. For example, Value and Color - in such cases Blend4Web behaves the same way as Blender. Before, such materials were not supported and were rendered in magenta as erroneous.

A simple example of implicit type conversion.

We have implemented support of the Margin property for physics objects and materials. This property improves simulation stability of colliding objects. The Oscar-winning physics engine, Bullet, has been updated to version 2.83.

Margin property under the object physics and material tabs.

The options from the Rotation panel are now supported for Hair particle systems. As a result, the particles positioned in Blender are completely reproduced in Blend4Web. Specifically, not only particle location and scale are supported but rotation as well.

A Hair particle system used for instancing objects and object groups.

Rotation settings for a Hair particle system.

The SDK now includes a pack of post-processing demos such as bloom, depth of field, god rays, motion blur and screen-space ambient occlusion.

Post-processing demos: bloom, god rays, SSAO and DOF.

A new option has been added to the add-on settings. This option turns on automatic start of a local development server upon opening Blender. If you don't want to run the server automatically, you can still do it manually with the button under the Render tab.

Blend4Web add-on settings.

This Blend4Web release is compatible with Blender 2.74. For the complete list of changes and bug fixes please refer to the release notes. Source blend files for all demos presented on this page are included in the Blend4Web SDK distribution. Feel free to leave your comments in this topic on our forums.

Comments
27 may. 2015 20:35
THANK YOU!!! For Dynamic Reflections . . .

This has been a huge one to mark off of my wishlist!
28 may. 2015 02:23
Just a head's up . . .

I am not sure what is causing it; but it seems if I leave the Blog Announcement for 15.05 open in Firefox; it crashes the browser. This happens even if the browser is running in the background. Not sure if it were the Glow demo that was embedded; but that would be my first guess . . .
28 may. 2015 11:42

Ответ на сообщение пользователя mcolinp
Just a head's up . . .

I am not sure what is causing it; but it seems if I leave the Blog Announcement for 15.05 open in Firefox; it crashes the browser. This happens even if the browser is running in the background. Not sure if it were the Glow demo that was embedded; but that would be my first guess . . .
Could you please describe your configuration? What OS and GPU do you use?

[EDIT]
I wasn't able to reproduce this neither on Linux, nor on Windows, nor on Mac with the latest Firefox. What is your Firefox version?
28 may. 2015 19:52
I am using a Nvidia Quadro fx5800; on Windows 8. I am actually using Waterfox, which is a 64bit variant of Firefox.

My Board is an ASUS P8-Z77-V-LK; with a 3.5 Gigahertz Q3770 intel Processor: with 32Gigbytes of DDR3 Ram.


*EDIT*

Another note; it did not seem to crash immediately . . .
It seemed that perhaps it might be a memory leak issue; that would occur after being open for several minutes.
29 may. 2015 11:43
I am using a Nvidia Quadro fx5800; on Windows 8. I am actually using Waterfox, which is a 64bit variant of Firefox.

My Board is an ASUS P8-Z77-V-LK; with a 3.5 Gigahertz Q3770 intel Processor: with 32Gigbytes of DDR3 Ram.
Had no luck in reproducing this on Windows 8.1 with WaterFox 38.0. I left two tabs with blog announcement for half an our and the browser was stable. I think, there can be some issues with Nvidia Quadro drivers. Currently, we don't have any of such cards and are not able to perform deeper tests.
Have you tried running this in other browsers? Does Chrome or IE behave more stable?
29 may. 2015 15:09
Further investigations show that there are really memory problems. Garbage collector doesn't work properly on Firefox 38 and on some previous versions as well. We'll try to figure out if we can do something or if this is only Mozilla's problem.
29 may. 2015 19:53
Ответ на сообщение пользователя Evgeny Rodygin
Further investigations show that there are really memory problems. Garbage collector doesn't work properly on Firefox 38 and on some previous versions as well. We'll try to figure out if we can do something or if this is only Mozilla's problem.

Glad to see that there were some validity to my situation. I realize it is pretty much impossible to make everything work perfectly ALL of the time; though I want to be sure that it is made known when such a problem occurs; in hopes that it can be worked out, as well as possible.
29 may. 2015 20:41
I have experienced a similar crash, with Firefox
Windows 7
Firefox 35.0
Intel I7
Nvidia Titan Black
03 jun. 2015 01:14
Oops I was wrong, the dynamic reflections work fine on the iPad 2.
22 oct. 2015 12:23
Hi there,

I can confirm the memory leak on linux, firefox 41.0.1.
Pity, otherwise blend4web is a dream come true, awesome project. But the memory issue is a showstopper for right now…

Anyways, keep up the good work!
Please register or log in to leave a reply.