We are excited to present a new release of Verge3D for Blender, an artist-friendly toolkit for creating 3D web interactives. Version 3.6 brings support for sheen settings for PBR materials, implements Area lights, and allows to directly use custom fonts with Text objects. This release also significantly expands the plugins system launched in the previous release, adds puzzles for creating objects on the fly, and introduces a MIDI compatible sound synthesizer (with a demo). You will also meet many more features and improvements listed below.
The Sheen and Sheen Tint inputs are now supported by the Principled BSDF node.
This feature can be used to realistically render microfiber surfaces such as clothes.
You can now use Blender’s Area lights of Square and Rectangle types.
External .ttf files assigned to Text objects in Blender are now automatically picked up upon export similarly to images.
These fonts are then used by Verge3D to render dynamic Text objects, meaning that the textual content for which can be provided in run-time via Puzzles.
As a result, you are no longer required to rely upon any third-party font converter as it was before this update. This was made possible thanks to the OpenType.js library which is copied at the application creation stage (if the option Font Converter is enabled). You can also copy this library from the build folder to your app folder manually any time later.
You can still bake text objects using the Bake Text option as usual. You might do this if you need an exact reproduction of the text model. This way, however, you cannot change the text via Puzzles.
For your reference, all possible ways to create text with Verge3D are linked together on this Manual page.
Besides the above-mentioned changes, support for Text parameters was further improved. As a result, all parameters for vertical alignment are now supported, and also the multi-line text is properly positioned.
Finally, we made sure this release is compatible with upcoming Blender 2.92. Particularly, the new Alpha output introduced for the Attribute node was supported.
This update brings various further improvements to Verge3D plugin system that was introduced in version 3.5.
We have also created a sample plugin to serve as an example on how to create typical puzzle blocks: ExamplePlugin.zip (the link can also be accessed from the plugins’ Manual page). Just unzip it into the puzzles/plugins folder and then check out the “Example Plugin” puzzle category.
Plugin development was made more fault tolerant – any errors in a plugin will be intercepted to prevent crashing the entire editor.
Human readable errors are posted to the browser console to help you debug your plugins. You can see the full list of typical errors and workarounds on this page.
Right-click menu on puzzles now produces the option Print Puzzle XML Tree. It will output the puzzle’s layout code to the browser console, so that you can inspect or reuse it for your own plugins.
Plug.provide() method is now available for re-using functions, resulting in more efficient code. See the doc page for more info.
We optimized the code that is generated out of plugin puzzles. As a result, the code is only inserted in the resulting .js file if the puzzles are actually used.
New puzzle for creating objects out of thin air is available. You can create:
- meshes (box, circle, cone, cylinder, sphere, plane, teapot, torus);
- perspective or orthographic cameras (and set the FoV);
- ambient, directional, hemispherical, point, area, or spot lights;
- empty objects.
By default, a white glTF-compliant PBR material is applied to meshes (with roughness set to 1 and metalness set to 0). You can use the set color and set value puzzles to tweak this material. Created objects can be exported in glTF format to be viewed/reimported outside of Verge3D.
In addition to text improvements mentioned above, the new puzzle create text object is available to make it possible to add Text objects at run time.
This puzzle supports ttf and woff fonts (but not woff2) which can be loaded both from a local folder or from a remote server.
The slot on error do was added to the puzzles load scene and append scene. Also these puzzles now load scenes faster.
The allow HTML option was added to the enter AR mode puzzle as requested on the community forums.
When turned on, all the contents of the canvas container are overlayed above the AR content. Be sure to also enable the transparent background option in the Init/configure application puzzle.
A MIDI compatible sound synthesizer was wrapped in a puzzle for this release. With this puzzle, you can create virtual musical instruments, generate low-latency sounds for UI on the fly, and provide various catching sound effects to your applications, including in VR mode.
You can also use MIDI files as quality soundtracks that load much faster than mp3.
Shall we play some balalaika?
Also the engine .js file made more compact thanks to removing some legacy code.
We also wrote an extensive guide on creating desktop Verge3D applications using Electron.
There were numerous improvements in other doc pages as well (Puzzles, Verge3D plugins, etc).
Verge3D now supports WebGL 2.0 on iOS. This in-development technology can be enabled through Safari flags.
We fixed the bug with materials assigned to flat shaded and smooth shaded objects at the same time. Also shared materials assigned to objects with different UV or vertex colors sets now properly work.
We fixed a serious issue with the undo operation (Ctrl-Z) which caused puzzles to disappear.
The multi-line/exec script puzzle now looks fine in Safari browser. The overall responsiveness of this puzzle was also improved.
We fixed the issue with the screen-space reflection/refraction puzzle that produced colors with wrong gamma applied.
Shadows from morphed objects did not cast correctly when objects with a different number of morph targets were present in the scene. Now they work fine.
We fixed the crash issue with scene loading using the load scene or append scene puzzles, which happened if materials from the replaced scene were modified at the time of loading.
We fixed the issue with camera offsets when using supersampling anti-alising which is turned on by the disable rendering puzzle (thanks for the report).
The detect collision puzzle can now be in-lined in other puzzles slots (thanks for the report).
We fixed the bug with special symbols used in Verge3D plugins (thanks for the report). Plugin puzzles can now be placed in the Init category (thanks for report). We also fixed various issues with plugin naming.
We fixed a bug with saving puzzles that contain non-Latin characters.
We fixed the memory overflow issue which prevented saving the Puzzles when there are many hundreds of them, thanks to switching to 64-bit Python to power the local web server. This should also improve the performance of the App Manager to some extent.
We fixed the issue with WooCommerce integration in Verge3D WordPress plugin, which was caused by the wc_add_to_cart_params structure absent in some cases (thanks for all the feedback).