We are excited to present a new release of Verge3D for 3ds Max, an artist-friendly toolkit for creating 3D web interactives. Version 3.6 brings support for Rectangle Photometric lights and TextPlus objects. This update also 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.
3D Text
3D text objects that are created via the TextPlus object 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.
Rectangle Lights and Other Improvements
Rectangle Photometric lights are now supported.
The “Dark Standard” template now comes with its own scene. It contains a golden cube on the dark background.
We optimized the internals of Physical materials a bit to load and render them faster.
We have added a new section to the User Manual which describes various aspects of handling the animation in Verge3D for 3ds Max.
Verge3D Plugins
This update brings various further improvements to Verge3D plugin system that was introduced in version 3.5.
Simplified syntax
First of all, we simplified the syntax for defining new puzzles making it more declarative. As a result, it now requires less JavaScript to define puzzles. See the docs for more info.
The E-commerce plugin has been updated for new syntax so that you have a usage example. The older approach with more JavaScript still can be used.
New example
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.
Debugging
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.
Tools
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.
The 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.
Puzzles
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.
Sound Synthesizer
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?
More Improvements
Verge3D core has been synchronized with Three.js r124, improving the existing and adding new features. Among them: modern JavaScript syntax is now used (ES6), support for additive animation, hand gestures for VR, VSM shadows, improved performance and stability.
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.
Bug Fixes
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).
Update Now
As usual, you can grab the new release from the downloads page. We’ll be glad to hear your opinions and further suggestions on the community forums.
Hi Yuri,
I update my project from verge3d-max-3.6.0-pre1 to 3.6.
When I republish my code (without changing anything) my cloning code doesn’t work any more,…..
It’ does throw an error:
visual_logic.js:966 Uncaught TypeError: matOffset.copy(…).invert is not a function
at makeParent (visual_logic.js:966)
at doClonePoles (visual_logic.js:1010)
at visual_logic.js:2030
Project link:
https://cdn.soft8soft.com/AROAJSY2GOEHMOFUVPIOE:ac6e684bfe/applications/AMR_Champ4303 – Copy/augmented_reality.html
Any suggestions,…hope you can help!
Greets Chris
Hi Chris,
Could you please create an issue report on the forums? We’d take a look!
I Did!, srry if this wasn’t the place to post it,…..