VERGE3D 2.12 FOR BLENDER RELEASED

We are excited to announce the release of version 2.12 of Verge3D for Blender. For this update we reworked several example applications, added many new puzzles, implemented supersample and multisample anti-aliasing, wrapped the powerful Tween.js library for creating fancy procedural animations, enabled WebGL 2.0, added new features for virtual reality and updated Verge3D WordPress plugin with some new functionality.

Example applications

The Custom Image demo application was updated. Besides better graphics, the picture frame is now properly scaled with bones according to the aspect of a loaded image, and the configuration is properly saved to the URL for sharing.

Another programmer-style demo, Load Unload, was updated to operate with furniture items instead of gray-colored cubes.

Finally, the Ring demo was converted to use Blender 2.8’s EEVEE materials.

We also removed some outdated/low-end demos from the Blender distribution. Those examples will be reworked and added back in the future.

Puzzles

We fixed the play animation puzzle, the when finished slot of which didn’t work when animated objects are loaded and added to the scene in runtime.

The tween camera puzzle received its own when finished slot.

The when moved puzzle made more responsible.

Get attr puzzle’s dropdown was supplemented with several missing properties including clientHeight, clientWidth, innerHeight, innerWidth, scrollHeight, and scrollWidth.

Implemented the puzzle for obtaining parameters of a texture. With it you can get width, height and aspect ratio of an image.

The replace texture now offers the once ready do slot so that you can now catch the moment when the image is loaded. Use the configuration icon to reveal it.

Physical puzzles were painted gray for more color diversity.

Implemented set URL param puzzle to simplify providing/updating parameters for the specified URL.

HTML window puzzle was added to access the window object, which is required to be an input by some HTML event puzzles. Particularly, you can now create a resize handler for the browser window.

An HTML-based alert message template is now available from the Puzzles library.

You can use this template to quickly setup a privacy warning for your app, for example (as we did in our Custom Image demo).

Removed the Google+ option from the social share link puzzle as this web service is no longer available.

Animate param puzzle that wraps the Tween.js library in now available.

The puzzle offers all 31 easing modes (pictured), durationrepeat and yoyo settings, and the update and complete callbacks. The new puzzle works with numbers, lists and dictionaries.

Advanced timer puzzles were added in addition to the existing puzzles from the Time category. As a result, you can cancel a timer at some moment by referring to it via name.

WebGL 2.0

WebGL 2.0 is now enabled by default on supported hardware thus unlocking various advanced features from this standard (see below).

Non-power-of-two (NPOT) are now directly supported without rescaling thus improving their quality. Still you might want to continue using POT textures where possible.

HDR rendering is available for a wider range of devices (those that offer WebGL 2.0 support but do not expose the half-float texture WebGL extension).

Multisample anti-aliasing (MSAA) is now enabled for post-processing frame buffers which improves rendering quality for scenes with post-effects or outlining enabled.

See more about anti-aliasing improvements below.

Anti-aliasing

Besides the above-mentioned MSAA, the supersample anti-aliasing (SSAA) feature is now available. It can significantly increase the rendering quality, although at the expense of performance. To compensate the performance loss, you can use it only when your scenes stay static.

In order to provide convenient means to applying SSAA efficiently, we introduced the new puzzle called disable rendering (and its counterpart enable rendering). This puzzle allows you to save batteries on mobile devices or laptops, and get rid of cooler noise on desktops, while also providing exceptional rendering quality if you enable its anti-alias last frame checkbox.

You can detect when the user moves the camera or objects using the when moved puzzle and disable SSAA at this moment.

Our Scooter demo was upgraded to use the supersampling feature, so that you can see how it works.

In addition, to give you the possibility to select a preferred anti-aliasing method (MSAA 4x, 8x, 16x, FXAA), we added the corresponding menu to Blender.

In this dropdown, Auto means that the engine will apply the most applicable method depending on hardware – MSAA 4x on WebGL 2.0-capable hardware, or MSAA 4x (no post-processing used) or FXAA (with post-processing) when running on WebGL 1.0.

EEVEE/Cycles

Supported the Gradient Texture EEVEE/Cycles node. Despite its name, this node does not occupy a texture slot in the WebGL shader, and thus can be considered as an effective replacement for images.

We improved the rendering results produced by the Principled BSDF EEVEE/Cycles node when low specular values are used.

We supported the default inputs of the Fresnel and Layer Weight EEVEE/Cycles nodes. Also the Fresnel node now produces results which are closer to Blender’s.

Color input is now supported for the Transparency BSDF node.

Blender UI cleanup

We reworked the export settings in Blender UI. Particularly:
– dropped all export panels in the export dialog
– moved options such as Export AnimationsExport within playback rangeKeyframes start with 0 and Export Custom Properties to the Render->Verge3D Settings panel.

Other improvements

Settings for selecting which collections to export have been added to Blender UI. You can use them to ignore assets that you don’t want to be exported (such as high-poly models, Cycles setups, etc).

The Story Height parameter is now supported for the FPS camera to allow for navigating through multi-floor buildings.

We supported the relative parent option for bones.

The engine now cleans up the object cache when unloading scene which fixed some issues with dynamic loading.

Virtual reality

We temporarily disabled WebXR support as it was broken in the latest Chrome 73 update. Please use the Legacy VR option to enable VR for WebVR-compatible browsers and on mobile devices.

While the state-of-the-art WebXR undergoes heavy changes, we have added some improvements for the legacy WebVR implementation. Particularly, WebVR controllers are now supported (based on game pads).

Also the end VR session puzzle was added to programmatically exit the VR mode. We also fixed the resize issue manifested upon exiting the VR mode.

Finally, we added the JavaScript method Detector.checkNativeWebXR() that allows a programmer to detect whether a VR app is running on top of WebXR or legacy WebVR.

WordPress plugin

We added the order_id field to order templates, and the option to specify an order’s e-mail subject.

We used WordPress’ filter feature to allow the Verge3D plugin to verify order fields such as price, and overall consistency of an order.

Bug fixes

  • Fixed open web page puzzle not working in some modes.
  • Fixed various issues caused export crash with Blender 2.8.
  • Fixed the rare scaling issue with parented objects.
  • Fixed Verge3D network not working for new users of the trial version installed on top of Blender 2.8.
  • Fixed the open web page and open file puzzles crashing when the camera is set to No controls.
  • Fixed the when moved puzzle not working properly with lists of objects.
  • Fixed modifiers and normals not exported from recent Blender 2.8 builds.
  • Fixed the bug with animations not working properly if their names contain the colon and forward slash symbols.
  • Fixed the bug that prevented processing of high-resolution lines in Chrome.
  • Fixed memory leaks when updating the scene’s environment map with Puzzles or JavaScript.
  • Fixed Blender crash when the Export Custom Properties checkbox is enabled.
  • Fixed export parameters not working properly when multiple scenes are present in a blend file.
  • Fixed export crash with asset compression enabled for very big exported files.
  • Fixed Dictionary puzzles crashing when their input slots are vacant. Also Dictionary puzzles now perform type checking of their parameters to avoid code crashes.

In closing

As usual, you may provide us with your feedback about this release on the forums or in the comments below. However, this time you have a unique opportunity to say what you’re thinking in person, by attending our first Verge3D meetup in the Netherlands in the end of this month. Hurry up to reserve your place at Verge3Day!