We are excited to announce the 3.6 release of Verge3D for Maya and Verge3D Ultimate. This version features the Scooter e-commerce demo and the material library made possible thanks to numerous new shader nodes and settings supported for this release. This update also brings Text objects, significantly expands the plugins system introduced in the previous release, adds puzzles for creating objects on the fly, and implements a MIDI compatible sound synthesizer (with a demo). You will also meet many more features and improvements listed below.
Thanks to recent developments of Verge3D for Maya, it finally becomes possible to completely reproduce the Scooter example previously only available to Blender and 3ds Max users. This powerful configurator application shows off various approaches for achieving interactivity and realism that you can learn from and re-use in your applications.
The material library with 31 high-quality entries including metals, plastics, paints and fabrics, is available. Those are fully customizable shaders which allow connecting your own textures and baked normal maps, and offer a set of ready-to-use environment maps in HDR format.
Refractive transparency, which is enabled when the Thin Walled parameter of the StandardSurface node is turned off, is now supported.
It can be used to render ice, glass and similar things. See more info in the docs.
Area lights can now be used with Verge3D.
The Sheen settings of the Standard Surface node are now supported by Verge3D.
It can be used to realistically render microfiber surfaces such as clothes.
Maya’s Vector Product node is now available for use with Verge3D.
We supported the Normal Camera input in the Sampler Info node, so that you can now use normal maps with this node. As a result, you can create sophisticated lighting effects which will be shown off in the upcoming material library for Maya users.
Transmission input is now supported for StandardSurface and aiStandardSurface nodes. Transmission is different from Opacity by not influencing specular reflections.
3D text objects that are created via the T panel (Maya) are now supported by Verge3D.
You can select a system font such as Arial, Times New Roman, Calibri, etc to define the look of your text. These text objects are dynamic, meaning that after exporting to Verge3D, they can be updated with new textual content via Puzzles.
This feature 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.
Alternatively, you can bake text objects using the Bake Text option. 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.
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?
Other Maya-Specific Improvements
Alpha mode property set to Auto now properly works in various scenarios. Also the Alpha output in the Ramp node now properly works.
Node Ramp now works if nothing is connected to its input Uv Coord. Also the Ramp node now supports more ramp types and interpolation modes.
The Layered Texture node now works if its inputs are connected on per-channel basis.
The “Dark Standard” template now comes with its own scene similarly to Blender and 3ds Max versions. It contains a golden cube on the dark background.
We fixed an installation issue occurred in the case when there were no new-line symbol in Maya.env (thanks for the report).
We also fixed the issue with shadows cast from scaled lights (thanks for the report).
A series of errors was fixed that are related to materials shared between different objects. We also fixed a recently discovered issue with UVs.
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).
As usual, you can grab the new release from the downloads page. The users of Verge3D Ultimate can download this update from their dashboard. We’ll be glad to hear your opinions and further suggestions on the community forums.