Verge3D Changelog

What's new in Verge3D 4.5.0

Nov 13, 2023
  • We are excited to present a new release of Verge3D for Blender! Version 4.5 brings the possibility to customize the application look and feel via GUI, boolean operations for procedural modeling, a visual way to create CSS styles, improved bloom effect, Blender exporter made up to 10x faster, new drag move puzzle that works in local and parent space, and more.

New in Verge3D 4.4.0 (Jul 25, 2023)

  • Fixed Issues:
  • There were reported regressions in Verge3D 4.3 due to updating to the latest Three.js library which broke the compatibility with the earlier versions of said library. Here we address these issues:
  • repaired fog–thanks for reporting this on the forums.
  • gamma correction works again–this affected the puzzles set/get material color, color picker, color from values, and draw line from obj.
  • We also decided to get rid of the THREE namespace in the JavaScript API, as Three.js developers are planing to remove it in favor of the module-based approach.
  • We fixed the issue with loop puzzles which generated lots of redundant code.
  • We also fixed another issue with the Orbit camera that jittered if a high inertia value was assigned to it via JavaScript. This issue has been reported via the Enterprise support channel.
  • We fixed black rendering and crashes happened in Safari 11-12 which can still be found on older Apple devices.
  • We fixed the bug in the puzzle stop animate param, when it only worked being the last puzzle in a sequence. Thanks for reporting this on the forums.
  • We fixed the bug with VR reticle which could not be turned off after re-entering the WebXR session. Thank you for reporting this on the forums.
  • We fixed the glitch in the Puzzles occurred with the performance mode enabled. Thanks for reporting this on the forums.
  • Order-independent transparency now works properly on HiDPI screens. Thanks for bringing this up on the forums.
  • Export of SCORM packages no longer requires admin privileges on Windows. Thanks for bringing this up on the forums.

New in Verge3D 4.3.0 (Mar 20, 2023)

  • New Virtual Reality Demo:
  • This Verge3D release introduces some new tools to simplify the creation of highly interactive VR apps (more about these tools below). We employed these features to create a new VR demo. It is different from our other example app Snowballs VR in that it contains much less game logic, and does not use any true physics for collisions. This makes it much easier to learn from and reuse in your projects:
  • Walking around in virtual space using a pre-modeled collision mesh
  • Grabbing and throwing things (fruits) with both hands
  • Interacting with things (home appliances and drink)
  • Playing back audio effects attached to user actions
  • VR Demo – Under the Hood:
  • Applications like the one linked above can now be relatively easily created thanks to a new entry in the puzzle library called VR controls.
  • Other WebXR Improvements:
  • Speaking of VR controllers, we made using them even more easier by adding the mapping option to the get gamepad property puzzle.
  • Puzzles Editor:
  • You can now rename tabs in the Puzzles editor through double-clicking on their names, and can also create new tabs faster. When a new tab created, the modal window to type its name no longer appears – instead, the cursor blinks on its default name (‘New Tab’), suggesting renaming it right away.
  • Order-Independent Transparency:
  • It’s a well-known issue of real-time graphics that rendering of layered transparent surfaces can cause severe artifacts to appear, and then jitter when viewing from a varying angle. At the same time, some model parts can be missing altogether due to wrong ordering of polygons.
  • Depth Prepass Transparency:
  • We supported the combination of Blender’s shader settings which enables an alternative mode for rendering transparent surfaces. If you select Alpha Blend for your material, and disable Show Backface at the same time, the object will be rendered by using the special technique called “Depth Prepass” which renders only one (nearest to the viewer) transparency layer.
  • Puzzles:
  • The raycast puzzle obtained a new option, “only visible”, which we enabled by default to retain the old behavior for this puzzle. The thing is that you can switch it off to cast rays to invisible objects as well. For example, this can be a collision mesh used for moving in VR space. See the above-mentioned library item called VR Controls for a working example.
  • Blender-Specific Features:
  • Verge3D is now compatible with Blender 3.6 which is in alpha status at the moment.
  • We fixed the crash with gltf-compatible materials in older versions of Blender.
  • We fixed loading of scenes with meshes shared by skinned and non-skinned objects. This issue was reported through the Enterprise support channel.
  • We fixed the export crash when using Follow Path constraints in Blender older than 2.93. Thank for reporting this on the forums.
  • NPM Package and Puzzles Logic:
  • We published both an ES6-modules-based and a conventional builds of Verge3D in the npm repository. This package also includes a script to activate the license. It makes it possible to create a Verge3D application with just a few lines of JavaScript code (way shorter than Three.js!).
  • Optimizations:
  • We reworked the feature for converting a Verge3D app into a desktop application. From now on, it will download its dependencies from our CDN instead of GitHub. You can also manually download the Electron.js builds so that no Internet connection is required at all for operation of the converter. This can reduce the time required for building desktop apps. This also helps overcome various network issues such as caused by proxy servers, firewalls etc.
  • More Improvements:
  • We synced Verge3D with the underlying Three.js library. Version r148 improves stability, performance and cleans up outdated code. Some of the newly introduced features of Three.js will be used in our own development.
  • Documentation and Help:
  • You can now provide your own User Manual URL in the App Manager.
  • User Manual Updates:
  • We updated the section about debugging mobile apps, as the modern browsers can now generate QR codes themselves. At the same time, both iOS and Android can now scan QR codes without any third-party apps.
  • Fixed Bugs:
  • We fixed the bug with the Flying camera which jumped wildly when using keyboard controls.
  • We fixed the issue with downloading of very big files from the Asset Store.
  • We fixed the bug with using local variables in the puzzle exec script. Thanks for reporting this on the forums.
  • We fixed the bug with node groups occurred in Blender 3.3+ reported on the forums here and here.
  • We fixed potential freezes of the App Manager when running lots of operations at the same time.
  • We fixed the error occurred when a new order is created via WordPress plugin interface, reported on the forums.

New in Verge3D 4.2.0 for Blender (Nov 29, 2022)

  • New Demos:
  • We’ve recreated the E-learning demo as an entirely new app from which one can learn how to assemble a table fan. It features responsive mobile-friendly UI fully designed in the 3D suite, a draggable timeline, a voice over for each step, and integration with SCORM-enabled learning management systems.
  • We also created a small archviz demo called Firstperson Camera which shows off first-person controls set up right in Blender. The app also implements a collision material with multiple building storeys, mouse pointer lock, mobile controls, a navigation mini-map, and geometry batching.
  • WooCommerce Integration:
  • We have implemented the possibility for shop visitors to load the product’s 3D view on demand. Therefore, now you can provide a mixed gallery of 2D pictures and a 3D icon to your customers. See the live example on our WordPress sandbox website.
  • WordPress Plugin:
  • The admin interface for a Verge3D application now displays the status and statistics for uploaded files to give you feedback on what’s going on.
  • We also made various fixes in the WordPress plugin:
  • 3D embedding is now properly displayed in WordPress editor
  • Verge3D apps are now properly fit in mobile screens
  • Allow full screen setting can now actually be switched off
  • Merchant logo in plugin settings is no longer lost after re-saving the settings.
  • Finally, we made various improvements and tweaks in the admin UI.
  • Blender UI:
  • We reworked Verge3D-specific UI panels in Blender so that they better fit in the rest of Blender UI. We also made more clear the separation between features. At the same time, we mostly didn’t touch the original placing for Verge3D options as not to break an established workflow.
  • We changed the category from Verge3D to Render for the Blender addon. We also updated the description for the addon, as well as the required Blender version.
  • We added icons to the Verge3D buttons Sneak Peek and App Manager which should make it a bit easier to distinguish between them.
  • We added Online Manual to the right-click menu for each of Verge3D’s settings, options and buttons, so that you can quickly obtain help on their usage. You can also point to a feature and press F1.
  • You can now assign keyboard shortcuts to all Verge3D’s buttons and menu items. In some cases, this can significantly speed up your workflow. For example, you can assign a shortcut on the export feature and thus avoid the more time-consuming operation of invoking export from the File menu.
  • Blender Features:
  • We ensured that this Verge3D version works with the latest dev preview of Blender 3.4-3.5. Particularly, we supported the newly introduced Mix Color node.
  • We also supported all Alpha Mode settings for the Image Texture node that Blender devs introduced just recently. The feature was suggested through the Enterprise support channel.
  • We fixed the bug with exporting glTF-compatible materials that use occlusion textures. The bug only affected Blender 3.3 and above. We also fixed the export crash issue caused by any armature animations that use non-integer keys in Blender.
  • New Puzzles:;
  • New puzzle–stop animate param–is available. You can use it to cancel a working animate param puzzle at any time. For usage example, see the new E-learning demo where it turns the propeller animation on and off.
  • Another new puzzle–connector slot–allows you to group puzzles together, so that you can do various actions with them in bulk.
  • It can help a lot in regard to the copy/paste function that only works with single puzzles. Connectors can also come in handy for moving puzzles around, commenting, or saving to the library. Thanks for suggesting this on the forums.
  • Finally, we have added the puzzle called map range. We recommend using it instead of similarly-named entry in the Puzzles Library to convert a value from one range to another. For example, you can convert the position of an object in 3D space to some factor or color to be used in a material.
  • Upgraded Puzzles:
  • We improved the puzzle get dimension. Now it returns dimensions measured in object local space and with local scaling applied, rather than in world space as it was before. This, particularly, produces better results for parented objects. The old behavior can be re-enabled using the world checkbox.
  • The puzzle drag move now works with parented objects (a long-awaited feature indeed). As a result, you can make draggable sliders, scrollbars and other UI elements that are parented to the camera or other objects.
  • Loader puzzles for sounds and videos can now be added to Lists to use them in bulk as an input to other audio/video puzzles. You can even mix sounds and videos in the same list. Also the puzzle stop sound no longer crashes with files whose playback has not started.
  • We added the tabindex property to the puzzles set/get property per suggestion on the forums.
  • App Manager:
  • We now have separate Asset Stores for the preview version and the stable version of Verge3D. This is to avoid version conflicts that sometimes caused real mess with broken puzzles and demos.
  • If the first-launched instance of the 3D tool is closed thus putting the local server down, the App Manager will now gracefully restart it. This means you no longer need to restart it manually as before, which was quite non-obvious thing leading to much confusion among new users.
  • We added Reddit and Telegram buttons to the About window of the App Manager.
  • Loading of the applications list in the App Manager is no longer blocking the use of other functionality thanks to asynchronous handling of server requests.
  • There were various minor UI tweaks in the settings panel of the App Manager.
  • Physics:
  • Creating of a new app now always copies the physics engine files to the app folder (i.e. the physics checkbox is turned on by default). However, the application will use them only if any of the physics puzzles are present, that is, only when physics is actually needed. Therefore, you no longer need to bother about enabling physics, and even if you disable the corresponding checkbox, you can always copy the physics engine files to the app folder without the need to edit the .html file as required before.
  • Another improvement with physics is that Verge3D now assigns bounding spheres of correct size to all physical objects.
  • Finally, we recompiled the physics engine with utmost optimizations to make it more lightweight, saving 400 kilobytes of file size, which is quite a lot in the world of JavaScript libraries.
  • Texture Compression:
  • We implemented a series of improvements and fixes for the texture compression feature to help you save video memory efficiently.
  • First of all, compression now skips files that would get much bigger (namely, more than 3 times) than the original image, which would otherwise damage the feasibility of this method. This often occurred with low-quality JPEGs that could generate huge files after compression. As a result, you can now have the benefits of reduced memory consumption and optimal file size at the same time.
  • Secondly, we supported compression for PNG textures with included ICC color profiles, which are now removed from the image (the original image is left intact). In case you really need that ICC color profile, you can disable texture compression for a particular image, or apply the color profile permanently to the texture using an image editor.
  • We also fixed the issue when some PNG textures were skipped from compression if any noncritical issues were detected by the exporter. For example, 16-bit images are now all compressed.
  • Finally, scenes containing non-standard texture formats such as DDS, TGA, etc no longer crash the export (thanks for alerting us on the forums). Exporting of scenes with compressed textures to .glb format also won’t crash from now on.
  • Advanced Features:
  • We have upgraded React and Vue.js templates to leverage the latest features of Verge3D, streamline the use of Verge3D API, and improve code readability. We also added 2 new demos to the Asset Store to demonstrate their workings. The demos, by the way, use multiple React and Vue.js components on the same page. We updated the documentation page accordingly.
  • We ensured that in the case when multiple Verge3D applications are embedded in the same web page, you can work with Puzzles API independently of other instances. Also the application templates–”Standard Light”, “Standard Dark”, “Blank”, and “Embeddable” for React and Vue.js–were modified accordingly.
  • Verge3D now gracefully restores the WebGL rendering context should it be lost. This can happen, for example, if the operating system suddenly decides to switch between discrete and integrated GPUs, or to update video drivers in the middle of presentation, or because too many/too heavy graphics apps have finally managed to overload the GPU.
  • Programming API:
  • The exec script puzzle now exposes Puzzles API via the puzzles namespace which we recommend to use instead of v3d.puzzles. This new namespace, particularly, allows you to use multiple Verge3D applications embedded in the same page, since each application now inherits its own puzzles namespace instead of using the only global one. As before, you can use it to call procedures defined in puzzles, invoke low-level physics API, etc.
  • We implemented methods App.pause() and App.resume() in the JavaScript API. These methods allow you to control everything happening in the engine–not just rendering, but also clocks, animations, and physics simulations. We are thankful to the community for bringing this up on the forums.
  • We started refactoring some parts of the engine code to use more of the modern ECMAScript 6 features such as modules, async/await operators, and arrow functions. Particularly, modules are now used in JavaScript code generated from Puzzles (so visual_logic.js is now a module).
  • More Improvements:
  • We refactored animation export as to improve the precision for exported Bezier and Linear animations. This helps eliminate problems in regions with abrupt changes of animated params. It can also decrease the size of exported data in some cases.
  • We simplified installation for unprivileged users on Windows (i.e. without admin access). Now the installer automatically chooses the home user directory to install into, instead of trying to unpack to Program Files. Thanks for bringing this up on the forums.
  • The feature Fit to Camera Edge has obtained a new option, Point, in its Fit Shape drop-down. If you select this option, the object will position itself relative to its center, as if it were a sizeless point. Also the Sphere option now positions objects more accurately. Finally, Fit to Camera Edge now supports multi-material objects.
  • The performance profile puzzle (alternatively, P-P-P hot keys) now prints about whether ambient occlusion (GTAO) is enabled for the scene or not.
  • The Orbit camera no longer jitters near stopping if a high inertia value is assigned to it via JavaScript. This issue has been reported via the Enterprise support channel.
  • We made various minor improvements and fixes in the HTMLs and JavaScripts of application templates, fixing among other things the potential memory leaks in the templates. We also corrected errors in some of code examples.
  • The demo Load Unload now more correctly unloads scenes.
  • Bug Fixes:
  • We fixed the Puzzles issue when asynchronous calls are used in loops. Thanks for reporting this on the forums.
  • We fixed a series of memory leaks occurred upon calling the application‘s dispose() method, as well as in some other cases. Thanks for letting us know about this problem on the forums.
  • The setting HiDPI Compositing which is assigned to individual objects now correctly works with multi-material objects, such as used for 3D-modelled UI.
  • We corrected the error with puzzles procedures that were not accessible from other tabs after copy-pasting them. Thanks for reporting this on the forums.
  • We fixed the bug with mysteriously appearing “shadow” puzzles which crashed the Puzzles editor after saving. Thanks for reporting this on the forums.
  • We fixed 3 issues with glTF-compatible materials:
  • Crashing of the export to glTF puzzle when the same texture is used for the occlusion, roughness and metallic components.
  • Bug with occlusion textures vertically flipped by the export to glTF puzzle. Thanks for bringing this up on the forums.
  • Crashing of materials with planar reflections, which caused objects to disappear from the rendering. Thanks for reporting this on the forums.
  • We fixed the bug with incorrect baking of .png textures when exporting to .glb format. Among other things, this fixed the engine crash when using .hdr textures with .glb format.
  • We fixed the puzzle clone animation, as well as the underlying API method AnimationUtils.subclip(), which did not work properly in some cases.

New in Verge3D 4.1.1 for Maya (Aug 30, 2022)

  • New Puzzles:
  • New puzzle on animation frame can be used to fire an event when a certain frame is reached. You can employ it in various scenarios, for example, to pause animation until the user interacts with an object.
  • New puzzle get animation speed will allow you to retrieve the speed value applied by the set animation speed puzzle. In particular, you can use it to play an animation in the backward direction from the current frame (such a scenario required using variables in earlier Verge3D versions).
  • We added a new puzzle to the Audio/Video category called get duration. You can use it to determine the length of sounds, including midi, or videos (in seconds).
  • Newly available puzzle, set shadow param from the Objects category, can enable/disable casting and receiving shadows for distinct objects and groups of objects.
  • In particular, you can use this puzzle to manage shadows for glTF-compatible materials. Another use case is loading glTF models exported from some third-party software. Finally, you can use it for fine-tuning of the quality and performance of your applications for particular hardware in run time.
  • New puzzle, get object dimension, was added to the Objects category. You can use it to measure dimensions of an object along X, Y or Z axes in run time.
  • You can use 2 new puzzles, color picker and compose color, to supply colors to those of your Material or HTML puzzles that use CSS colors. The puzzle compose color also has the possibility to set alpha.
  • Even More New Puzzles:
  • New puzzle, create dict with keys values allows you to create dictionaries more easily: the keys and values can be provided as lists, or as multi-line text.
  • New puzzle AR hit normal allows you to cast AR content not only to the floor but also to the ceiling and walls (imagine a lustre attached to ceiling, or wall pictures).
  • New puzzles – add event listener, remove event listener, and dispatch event – were added to the Advanced category. These work in the same fashion as the corresponding JS methods, and can be used to facilitate complex dependencies in highly interactive apps such as games.
  • New puzzles to access the local storage are available in the System category: storage set, get, remove, and check. By using these puzzles you can preserve data when the user closes or reloads the page – e.g. contents of the e-commerce cart, current configuration, or progress in a game.
  • Improvements with Existing Puzzles:
  • Puzzles are now loaded much faster (especially noticeable with many tabs).
  • The puzzle opened file now provides various information about the file besides its contents, such as its name, extension, size, and mime type. The old behavior corresponds to the data option which is selected by default.
  • The set camera params puzzle obtained the option allow zoom which you can use to disable camera zooming. This may come in handy for an app working inside an iframe on a long page. In such a situation it helps prevent unwanted zooming when the user is scrolling the page.
  • The multi-line text puzzle can now be freely resized to suit your needs. This also tangibly reduced the width of the Puzzles editor’s toolbox where this puzzle resides.
  • The puzzle create text object now works faster, as we lowered a bit the default number of segments it generates which didn’t result in any visible loss of quality.
  • A descriptive warning will be shown on relevant puzzles should the Physics or Font Converter modules happen to be not linked to an application for some reason.
  • When using the puzzle texture from text, you can now set the colors for the text and background, as well as transparency for both text and background. As a result, this puzzle can generate fancy transparent textures on the fly. Make sure you enable transparency for the corresponding material.
  • Maya-Specific Features:
  • Verge3D now supports animation along curve, which can be created in Maya using the Motion Path constraint.
  • Such the approach is more artist-friendly as baking path animation to keyframes is no longer required each time you need to export it to Verge3D. It also generates smaller files.
  • New demo called Follow Path is now available in the Asset Store which shows off how to use the Motion Path constraint.
  • We fixed rendering of Verge3D objects – Reflection Cubemap, Reflection Plane, and Clipping Plane – on AMD GPUs.
  • We added new demo called Lines to demonstrate working with curve objects.
  • New demo called Recliner was ported over to Verge3D for Maya. It shows off an example of an e-commerce 3D configurator coupled with interactive animation, and relies on HTML puzzles for website integration.
  • New demo called Vertex Colors is now available in the Asset Store.
  • New demo called Video Texture is now available with Verge3D for Maya.
  • New demo called Ambient Occlusion is now available in the Asset Store.
  • Reworked E-commerce Features (WordPress Plugin):
  • As you know, to this day Verge3D WordPress plugin included the integration with WooCommerce (a third-party WordPress plugin for creating online stores). Verge3D WordPress plugin also included our own simplistic set of features which was accessible for use via the place order puzzle.
  • For this update, we completely overhauled the latter piece of functionality, turning it into a full-featured e-commerce solution. The motivation behind this our work is that although there are many e-commerce solutions out there, none of them fits well into interactive 3D world. They would also require lots of hacks and coding to integrate with Verge3D/WebGL. We want to offer our users a complete integrated package for the most popular CMS on the market, which would include all features necessary for making sales efficient.
  • Major features we implemented for this update:
  • Proper itemization in orders.
  • Products and prices are now created in the admin interface, not in puzzles as before.
  • All products now have quantity.
  • Currencies can be selected in the plugin settings.
  • Attachments of various kind are available. Before this update you could only make screenshots and attach them to the order. However, now you can use any images, sounds, videos, PDFs, .txt files, and even glTF models. These files are then can be used to fulfill the order or just provide more information from the customer.
  • Generation of formal quotes and invoices, customizable with logo and notes and downloadable as PDF. These can be emailed, or attached to an order notification.
  • Possibility to make downloadable products.
  • Optional PayPal integration.
  • Improved email notifications. Emails are fully customisable.
  • Optional shipping and billing addresses.
  • Discounts and taxes.
  • Everything is configurable with hundreds of settings.
  • The main puzzle that creates the order is now called place order + in addition to the old puzzle place order which continues to work as before. We also significantly improved the security of the plugin by thoroughly verifying all incoming data.
  • The updated plugin is available from the official WordPress store. You can also install it manually from the wordpress folder of the Verge3D installation directory. Note that the WooCommerce part will continue to work as before.
  • We updated the demos Ring and Recliner for these new features so that you can have examples how they work.
  • PayPal Integration:
  • For those Verge3D users who seek the simplest e-commerce solution possible without even bothering about website, we implemented a new puzzle to pay via PayPal. Create a 3D scene, upload it to Verge3D Network and place the PayPal buy/donate button – what could be easier than that?
  • WebP Textures:
  • Images saved in modern WebP format can now be used with Verge3D. WebP format is much more compact compared with PNG or JPEG images of similar quality. It offers both lossy and lossless file compression, and also supports alpha channel in both modes.
  • We integrated WebP with the replace texture and take screenshot puzzles. This format, however, is not compatible with memory-saving texture compression at the moment, as it is still to be supported in Khronos Group’s KTX tools.
  • Please note that WebP images can only be used in quite modern browsers. One can expect, however, that it will replace both PNG or JPEG formats on the web in the future.
  • Other Improvements:
  • A meaningful message rather than blank page is now shown when there are no apps in the applications folder.
  • We wrote a small guide on using absolute and relative URLs, as well as data URIs.
  • We improved the React.js and Vue.js templates by adding adapters that allow you to use React or Vue-based apps with the App Manager and Puzzles. See more info in the User Manual page.
  • We introduced a series of performance optimizations for the Puzzles editor. The feature can be enabled in the App Manager settings. As a result, it significantly speeds up scrolling and dragging of big scenarios, although at the expense of some visual degradation.
  • The Puzzles editor now generates cleaner JS code.
  • We fixed small UI issues in various puzzles. Particularly, the right-click feature collapse/expand now works better.
  • Desktop builds will always use high performance GPU if user computer has more than 1 GPU.
  • The load data puzzle can now disable caching of loaded files. Also .json files are automatically converted to dictionary when loaded.
  • The search field in the App Manager now supports special symbols.
  • The puzzle zoom camera now supports Ortho cameras as well. This feature was requested through the Enterprise support channel.
  • We improved Verge3D installer which now shows the software version and publisher in Windows’ Add/Remove apps and features dialog. It now also does not leave any files after uninstallation of Verge3D, except third-party plugins. Speaking of Verge3D plugins, we wrote an extensive guide to help you create installers for them.
  • We have synced the MIDI library with upstream, which should improve the playback of Roland GS files.
  • Bug Fixes:
  • We fixed scene loading crash occurred when multiple .hdr images were used with texture compression. Thanks for reporting this issue on the forums.
  • We fixed an issue with the multi-line text puzzle, when an empty line was added each time the Puzzles are saved. Thanks for reporting this on the forums. Also the cursor and the scrollbar are now correctly positioned with this puzzle if browser tab contents are scaled.
  • The puzzles set value and set rgb now work with materials that use video textures. We also fixed the puzzle get texture param that didn’t work properly with video textures. Finally, video textures can now be replaced by image textures, and not just the other way around.
  • We fixed the issue with desktop applications created very slowly which was introduced with Verge3D 4.0. This was because Electron.js binaries were downloaded again each time Verge3D was launched anew. Thanks for reporting this on the forums.
  • Verge3D can now properly load animations with keyframes that are positioned out of timeline. This issue was reported through the Enterprise support channel.
  • We fixed a rare issue sometimes occurred when a puzzle was disconnected from an input that had a default “shadow” puzzle in it.
  • We fixed the bug with the replace texture puzzle: when a static image is replaced by a canvas texture, this image no longer mysteriously disappear from the list of textures.
  • We fixed a bug with constraints assigned to multi-material objects.
  • We fixed the bug with annotation visibility. Thank for reporting it on the forums.
  • We fixed a crash occurred when editing argument names in a procedure puzzle, which happened if the procedure is used in 2 or more tabs.
  • The puzzle unbind element now properly works in all cases.
  • We fixed some issues with the multi-line text puzzle observed in Firefox and Safari.
  • We disabled ambient occlusion on Mali GPUs, mostly used by previous generations of Samsumg Galaxy devices, as a work around the artifacts problem reported on the forums.

New in Verge3D 4.1.1 for 3ds Max (Aug 30, 2022)

  • New Puzzles:
  • New puzzle on animation frame can be used to fire an event when a certain frame is reached. You can employ it in various scenarios, for example, to pause animation until the user interacts with an object.
  • New puzzle get animation speed will allow you to retrieve the speed value applied by the set animation speed puzzle. In particular, you can use it to play an animation in the backward direction from the current frame (such a scenario required using variables in earlier Verge3D versions).
  • We added a new puzzle to the Audio/Video category called get duration. You can use it to determine the length of sounds, including midi, or videos (in seconds).
  • Newly available puzzle, set shadow param from the Objects category, can enable/disable casting and receiving shadows for distinct objects and groups of objects.
  • In particular, you can use this puzzle to manage shadows for glTF-compatible materials. Another use case is loading glTF models exported from some third-party software. Finally, you can use it for fine-tuning of the quality and performance of your applications for particular hardware in run time.
  • New puzzle, get object dimension, was added to the Objects category. You can use it to measure dimensions of an object along X, Y or Z axes in run time.
  • You can use 2 new puzzles, color picker and compose color, to supply colors to those of your Material or HTML puzzles that use CSS colors. The puzzle compose color also has the possibility to set alpha.
  • Even More New Puzzles:
  • New puzzle, create dict with keys values allows you to create dictionaries more easily: the keys and values can be provided as lists, or as multi-line text.
  • New puzzle AR hit normal allows you to cast AR content not only to the floor but also to the ceiling and walls (imagine a lustre attached to ceiling, or wall pictures).
  • New puzzles – add event listener, remove event listener, and dispatch event – were added to the Advanced category. These work in the same fashion as the corresponding JS methods, and can be used to facilitate complex dependencies in highly interactive apps such as games.
  • New puzzles to access the local storage are available in the System category: storage set, get, remove, and check. By using these puzzles you can preserve data when the user closes or reloads the page – e.g. contents of the e-commerce cart, current configuration, or progress in a game.
  • Improvements with Existing Puzzles:
  • Puzzles are now loaded much faster (especially noticeable with many tabs).
  • The puzzle opened file now provides various information about the file besides its contents, such as its name, extension, size, and mime type. The old behavior corresponds to the data option which is selected by default.
  • The set camera params puzzle obtained the option allow zoom which you can use to disable camera zooming. This may come in handy for an app working inside an iframe on a long page. In such a situation it helps prevent unwanted zooming when the user is scrolling the page.
  • The multi-line text puzzle can now be freely resized to suit your needs. This also tangibly reduced the width of the Puzzles editor’s toolbox where this puzzle resides.
  • The puzzle create text object now works faster, as we lowered a bit the default number of segments it generates which didn’t result in any visible loss of quality.
  • A descriptive warning will be shown on relevant puzzles should the Physics or Font Converter modules happen to be not linked to an application for some reason.
  • When using the puzzle texture from text, you can now set the colors for the text and background, as well as transparency for both text and background. As a result, this puzzle can generate fancy transparent textures on the fly. Make sure you enable transparency for the corresponding material.
  • 3ds Max-Specific Features:
  • Verge3D now supports animation along curve, which can be created in 3ds Max using the Path constraint.
  • Such the approach is more artist-friendly as baking path animation to keyframes is no longer required each time you need to export it to Verge3D. It also generates smaller files.
  • New demo called Follow Path is now available in the Asset Store which shows off how to use the Path constraint.
  • We added new demo called Lines to demonstrate working with curve objects.
  • New demo called Video Texture is now available with Verge3D for 3ds Max.
  • New demo called Ambient Occlusion is now available in the Asset Store.
  • New demo called Postprocessing is now available in the Asset Store.
  • Reworked E-commerce Features (WordPress Plugin):
  • As you know, to this day Verge3D WordPress plugin included the integration with WooCommerce (a third-party WordPress plugin for creating online stores). Verge3D WordPress plugin also included our own simplistic set of features which was accessible for use via the place order puzzle.
  • For this update, we completely overhauled the latter piece of functionality, turning it into a full-featured e-commerce solution. The motivation behind this our work is that although there are many e-commerce solutions out there, none of them fits well into interactive 3D world. They would also require lots of hacks and coding to integrate with Verge3D/WebGL. We want to offer our users a complete integrated package for the most popular CMS on the market, which would include all features necessary for making sales efficient.
  • Major features we implemented for this update:
  • Proper itemization in orders.
  • Products and prices are now created in the admin interface, not in puzzles as before.
  • All products now have quantity.
  • Currencies can be selected in the plugin settings.
  • Attachments of various kind are available. Before this update you could only make screenshots and attach them to the order. However, now you can use any images, sounds, videos, PDFs, .txt files, and even glTF models. These files are then can be used to fulfill the order or just provide more information from the customer.
  • Generation of formal quotes and invoices, customizable with logo and notes and downloadable as PDF. These can be emailed, or attached to an order notification.
  • Possibility to make downloadable products.
  • Optional PayPal integration.
  • Improved email notifications. Emails are fully customisable.
  • Optional shipping and billing addresses.
  • Discounts and taxes.
  • Everything is configurable with hundreds of settings.
  • The main puzzle that creates the order is now called place order + in addition to the old puzzle place order which continues to work as before. We also significantly improved the security of the plugin by thoroughly verifying all incoming data.
  • The updated plugin is available from the official WordPress store. You can also install it manually from the wordpress folder of the Verge3D installation directory. Note that the WooCommerce part will continue to work as before.
  • We updated the demos Ring and Recliner for these new features so that you can have examples how they work.
  • PayPal Integration:
  • For those Verge3D users who seek the simplest e-commerce solution possible without even bothering about website, we implemented a new puzzle to pay via PayPal. Create a 3D scene, upload it to Verge3D Network and place the PayPal buy/donate button – what could be easier than that?
  • WebP TexturesL
  • Images saved in modern WebP format can now be used with Verge3D. WebP format is much more compact compared with PNG or JPEG images of similar quality. It offers both lossy and lossless file compression, and also supports alpha channel in both modes.
  • We integrated WebP with the replace texture and take screenshot puzzles. This format, however, is not compatible with memory-saving texture compression at the moment, as it is still to be supported in Khronos Group’s KTX tools.
  • Please note that WebP images can only be used in quite modern browsers. One can expect, however, that it will replace both PNG or JPEG formats on the web in the future.
  • Other Improvements:
  • A meaningful message rather than blank page is now shown when there are no apps in the applications folder.
  • We wrote a small guide on using absolute and relative URLs, as well as data URIs.
  • We improved the React.js and Vue.js templates by adding adapters that allow you to use React or Vue-based apps with the App Manager and Puzzles. See more info in the User Manual page.
  • We introduced a series of performance optimizations for the Puzzles editor. The feature can be enabled in the App Manager settings. As a result, it significantly speeds up scrolling and dragging of big scenarios, although at the expense of some visual degradation.
  • The Puzzles editor now generates cleaner JS code.
  • We fixed small UI issues in various puzzles. Particularly, the right-click feature collapse/expand now works better.
  • Desktop builds will always use high performance GPU if user computer has more than 1 GPU.
  • The load data puzzle can now disable caching of loaded files. Also .json files are automatically converted to dictionary when loaded.
  • The search field in the App Manager now supports special symbols.
  • The puzzle zoom camera now supports Ortho cameras as well. This feature was requested through the Enterprise support channel.
  • We improved Verge3D installer which now shows the software version and publisher in Windows’ Add/Remove apps and features dialog. It now also does not leave any files after uninstallation of Verge3D, except third-party plugins. Speaking of Verge3D plugins, we wrote an extensive guide to help you create installers for them.
  • We have synced the MIDI library with upstream, which should improve the playback of Roland GS files.
  • Bug Fixes:
  • We fixed scene loading crash occurred when multiple .hdr images were used with texture compression. Thanks for reporting this issue on the forums.
  • We fixed an issue with the multi-line text puzzle, when an empty line was added each time the Puzzles are saved. Thanks for reporting this on the forums. Also the cursor and the scrollbar are now correctly positioned with this puzzle if browser tab contents are scaled.
  • The puzzles set value and set rgb now work with materials that use video textures. We also fixed the puzzle get texture param that didn’t work properly with video textures. Finally, video textures can now be replaced by image textures, and not just the other way around.
  • We fixed the issue with desktop applications created very slowly which was introduced with Verge3D 4.0. This was because Electron.js binaries were downloaded again each time Verge3D was launched anew. Thanks for reporting this on the forums.
  • Verge3D can now properly load animations with keyframes that are positioned out of timeline. This issue was reported through the Enterprise support channel.
  • We fixed a rare issue sometimes occurred when a puzzle was disconnected from an input that had a default “shadow” puzzle in it.
  • We fixed the bug with the replace texture puzzle: when a static image is replaced by a canvas texture, this image no longer mysteriously disappear from the list of textures.
  • We fixed a bug with constraints assigned to multi-material objects.
  • We fixed the bug with annotation visibility. Thank for reporting it on the forums.
  • We fixed a crash occurred when editing argument names in a procedure puzzle, which happened if the procedure is used in 2 or more tabs.
  • The puzzle unbind element now properly works in all cases.
  • We fixed some issues with the multi-line text puzzle observed in Firefox and Safari.
  • We disabled ambient occlusion on Mali GPUs, mostly used by previous generations of Samsumg Galaxy devices, as a work around the artifacts problem reported on the forums.

New in Verge3D 4.1.1 for Blender (Aug 30, 2022)

  • New Puzzles:
  • New puzzle on animation frame can be used to fire an event when a certain frame is reached. You can employ it in various scenarios, for example, to pause animation until the user interacts with an object.
  • New puzzle get animation speed will allow you to retrieve the speed value applied by the set animation speed puzzle. In particular, you can use it to play an animation in the backward direction from the current frame (such a scenario required using variables in earlier Verge3D versions).
  • We added a new puzzle to the Audio/Video category called get duration. You can use it to determine the length of sounds, including midi, or videos (in seconds).
  • Newly available puzzle, set shadow param from the Objects category, can enable/disable casting and receiving shadows for distinct objects and groups of objects.
  • In particular, you can use this puzzle to manage shadows for glTF-compatible materials. Another use case is loading glTF models exported from some third-party software. Finally, you can use it for fine-tuning of the quality and performance of your applications for particular hardware in run time.
  • New puzzle, get object dimension, was added to the Objects category. You can use it to measure dimensions of an object along X, Y or Z axes in run time.
  • You can use 2 new puzzles, color picker and compose color, to supply colors to those of your Material or HTML puzzles that use CSS colors. The puzzle compose color also has the possibility to set alpha.
  • Even More New Puzzles:
  • New puzzle, create dict with keys values allows you to create dictionaries more easily: the keys and values can be provided as lists, or as multi-line text.
  • New puzzle AR hit normal allows you to cast AR content not only to the floor but also to the ceiling and walls (imagine a lustre attached to ceiling, or wall pictures).
  • New puzzles – add event listener, remove event listener, and dispatch event – were added to the Advanced category. These work in the same fashion as the corresponding JS methods, and can be used to facilitate complex dependencies in highly interactive apps such as games.
  • New puzzles to access the local storage are available in the System category: storage set, get, remove, and check. By using these puzzles you can preserve data when the user closes or reloads the page – e.g. contents of the e-commerce cart, current configuration, or progress in a game.
  • Improvements with Existing Puzzles:
  • Puzzles are now loaded much faster (especially noticeable with many tabs).
  • The puzzle opened file now provides various information about the file besides its contents, such as its name, extension, size, and mime type. The old behavior corresponds to the data option which is selected by default.
  • The set camera params puzzle obtained the option allow zoom which you can use to disable camera zooming. This may come in handy for an app working inside an iframe on a long page. In such a situation it helps prevent unwanted zooming when the user is scrolling the page.
  • The multi-line text puzzle can now be freely resized to suit your needs. This also tangibly reduced the width of the Puzzles editor’s toolbox where this puzzle resides.
  • The puzzle create text object now works faster, as we lowered a bit the default number of segments it generates which didn’t result in any visible loss of quality.
  • A descriptive warning will be shown on relevant puzzles should the Physics or Font Converter modules happen to be not linked to an application for some reason.
  • When using the puzzle texture from text, you can now set the colors for the text and background, as well as transparency for both text and background. As a result, this puzzle can generate fancy transparent textures on the fly. Make sure you enable transparency for the corresponding material.
  • Blender-Specific Features:
  • This Verge3D version is compatible with Blender 3.4.
  • White Noise node is now supported.
  • We fixed vertex colors which were broken due to changes in Python API of Blender 3.2.
  • Verge3D now supports animation along curve, which can be created in Blender using the Follow Path constraint.
  • Such the approach is more artist-friendly as baking path animation to keyframes is no longer required each time you need to export it to Verge3D. It also generates smaller files. Both Nurbs and Bezier curves can be used with this constraint.
  • New demo called Follow Path is now available in the Asset Store which shows off how to use the Follow Path constraint.
  • We reworked the Lines demo which is now compatible with the latest Blender and uses the Eevee renderer.
  • New demo called Vertex Colors is now available in the Asset Store.
  • New demo called Ambient Occlusion is now available in the Asset Store.
  • New demo called Postprocessing is now available in the Asset Store.
  • Reworked E-commerce Features (WordPress Plugin):
  • As you know, to this day Verge3D WordPress plugin included the integration with WooCommerce (a third-party WordPress plugin for creating online stores). Verge3D WordPress plugin also included our own simplistic set of features which was accessible for use via the place order puzzle.
  • For this update, we completely overhauled the latter piece of functionality, turning it into a full-featured e-commerce solution. The motivation behind this our work is that although there are many e-commerce solutions out there, none of them fits well into interactive 3D world. They would also require lots of hacks and coding to integrate with Verge3D/WebGL. We want to offer our users a complete integrated package for the most popular CMS on the market, which would include all features necessary for making sales efficient.
  • Major features we implemented for this update:
  • Proper itemization in orders.
  • Products and prices are now created in the admin interface, not in puzzles as before.
  • All products now have quantity.
  • Currencies can be selected in the plugin settings.
  • Attachments of various kind are available. Before this update you could only make screenshots and attach them to the order. However, now you can use any images, sounds, videos, PDFs, .txt files, and even glTF models. These files are then can be used to fulfill the order or just provide more information from the customer.
  • Generation of formal quotes and invoices, customizable with logo and notes and downloadable as PDF. These can be emailed, or attached to an order notification.
  • Possibility to make downloadable products.
  • Optional PayPal integration.
  • Improved email notifications. Emails are fully customisable.
  • Optional shipping and billing addresses.
  • Discounts and taxes.
  • Everything is configurable with hundreds of settings.
  • The main puzzle that creates the order is now called place order + in addition to the old puzzle place order which continues to work as before. We also significantly improved the security of the plugin by thoroughly verifying all incoming data.
  • The updated plugin is available from the official WordPress store. You can also install it manually from the wordpress folder of the Verge3D installation directory. Note that the WooCommerce part will continue to work as before.
  • We updated the demos Ring and Recliner for these new features so that you can have examples how they work.
  • PayPal Integration:
  • For those Verge3D users who seek the simplest e-commerce solution possible without even bothering about website, we implemented a new puzzle to pay via PayPal. Create a 3D scene, upload it to Verge3D Network and place the PayPal buy/donate button – what could be easier than that?
  • You can get the client ID from PayPal as suggested on this page.
  • WebP Textures:
  • Images saved in modern WebP format can now be used with Verge3D. They were recently supported in Blender 3.2. WebP format is much more compact compared with PNG or JPEG images of similar quality. It offers both lossy and lossless file compression, and also supports alpha channel in both modes.
  • Besides Blender exporter, we integrated WebP with the replace texture and take screenshot puzzles. This format, however, is not compatible with memory-saving texture compression at the moment, as it is still to be supported in Khronos Group’s KTX tools.
  • Please note that WebP images can only be used in quite modern browsers. One can expect, however, that it will replace both PNG or JPEG formats on the web in the future.
  • Other Improvements:
  • A meaningful message rather than blank page is now shown when there are no apps in the applications folder.
  • We wrote a small guide on using absolute and relative URLs, as well as data URIs.
  • We improved the React.js and Vue.js templates by adding adapters that allow you to use React or Vue-based apps with the App Manager and Puzzles. See more info in the User Manual page.
  • We introduced a series of performance optimizations for the Puzzles editor. The feature can be enabled in the App Manager settings. As a result, it significantly speeds up scrolling and dragging of big scenarios, although at the expense of some visual degradation.
  • The Puzzles editor now generates cleaner JS code.
  • We fixed small UI issues in various puzzles. Particularly, the right-click feature collapse/expand now works better.
  • Desktop builds will always use high performance GPU if user computer has more than 1 GPU.
  • The load data puzzle can now disable caching of loaded files. Also .json files are automatically converted to dictionary when loaded.
  • The search field in the App Manager now supports special symbols.
  • The puzzle zoom camera now supports Ortho cameras as well. This feature was requested through the Enterprise support channel.
  • We improved Verge3D installer which now shows the software version and publisher in Windows’ Add/Remove apps and features dialog. It now also does not leave any files after uninstallation of Verge3D, except third-party plugins. Speaking of Verge3D plugins, we wrote an extensive guide to help you create installers for them.
  • We have synced the MIDI library with upstream, which should improve the playback of Roland GS files.
  • Bug Fixes:
  • We fixed scene loading crash occurred when multiple .hdr images were used with texture compression. Thanks for reporting this issue on the forums.
  • We fixed an issue with the multi-line text puzzle, when an empty line was added each time the Puzzles are saved. Thanks for reporting this on the forums. Also the cursor and the scrollbar are now correctly positioned with this puzzle if browser tab contents are scaled.
  • The puzzles set value and set rgb now work with materials that use video textures. We also fixed the puzzle get texture param that didn’t work properly with video textures. Finally, video textures can now be replaced by image textures, and not just the other way around.
  • We fixed the issue with desktop applications created very slowly which was introduced with Verge3D 4.0. This was because Electron.js binaries were downloaded again each time Verge3D was launched anew. Thanks for reporting this on the forums.
  • Verge3D can now properly load animations with keyframes that are positioned out of timeline. This issue was reported through the Enterprise support channel.
  • We fixed a rare issue sometimes occurred when a puzzle was disconnected from an input that had a default “shadow” puzzle in it.
  • We fixed the bug with the replace texture puzzle: when a static image is replaced by a canvas texture, this image no longer mysteriously disappear from the list of textures.
  • We fixed a bug with constraints assigned to multi-material objects.
  • We fixed the bug with annotation visibility. Thank for reporting it on the forums.
  • We fixed a crash occurred when editing argument names in a procedure puzzle, which happened if the procedure is used in 2 or more tabs.
  • The puzzle unbind element now properly works in all cases.
  • We fixed some issues with the multi-line text puzzle observed in Firefox and Safari.
  • We disabled ambient occlusion on Mali GPUs, mostly used by previous generations of Samsumg Galaxy devices, as a work around the artifacts problem reported on the forums.

New in Verge3D 4.1.0 for Blender (Aug 23, 2022)

  • New Puzzles:
  • New puzzle on animation frame can be used to fire an event when a certain frame is reached. You can employ it in various scenarios, for example, to pause animation until the user interacts with an object.
  • New puzzle get animation speed will allow you to retrieve the speed value applied by the set animation speed puzzle. In particular, you can use it to play an animation in the backward direction from the current frame (such a scenario required using variables in earlier Verge3D versions).
  • We added a new puzzle to the Audio/Video category called get duration. You can use it to determine the length of sounds, including midi, or videos (in seconds).
  • Newly available puzzle, set shadow param from the Objects category, can enable/disable casting and receiving shadows for distinct objects and groups of objects.
  • In particular, you can use this puzzle to manage shadows for glTF-compatible materials. Another use case is loading glTF models exported from some third-party software. Finally, you can use it for fine-tuning of the quality and performance of your applications for particular hardware in run time.
  • New puzzle, get object dimension, was added to the Objects category. You can use it to measure dimensions of an object along X, Y or Z axes in run time.
  • You can use 2 new puzzles, color picker and compose color, to supply colors to those of your Material or HTML puzzles that use CSS colors. The puzzle compose color also has the possibility to set alpha.
  • Even More New Puzzles:
  • New puzzle, create dict with keys values allows you to create dictionaries more easily: the keys and values can be provided as lists, or as multi-line text.
  • New puzzle AR hit normal allows you to cast AR content not only to the floor but also to the ceiling and walls (imagine a lustre attached to ceiling, or wall pictures).
  • New puzzles – add event listener, remove event listener, and dispatch event – were added to the Advanced category. These work in the same fashion as the corresponding JS methods, and can be used to facilitate complex dependencies in highly interactive apps such as games.
  • New puzzles to access the local storage are available in the System category: storage set, get, remove, and check. By using these puzzles you can preserve data when the user closes or reloads the page – e.g. contents of the e-commerce cart, current configuration, or progress in a game.
  • Improvements with Existing Puzzles:
  • Puzzles are now loaded much faster (especially noticeable with many tabs).
  • The puzzle opened file now provides various information about the file besides its contents, such as its name, extension, size, and mime type. The old behavior corresponds to the data option which is selected by default.
  • The set camera params puzzle obtained the option allow zoom which you can use to disable camera zooming. This may come in handy for an app working inside an iframe on a long page. In such a situation it helps prevent unwanted zooming when the user is scrolling the page.
  • The multi-line text puzzle can now be freely resized to suit your needs. This also tangibly reduced the width of the Puzzles editor’s toolbox where this puzzle resides.
  • The puzzle create text object now works faster, as we lowered a bit the default number of segments it generates which didn’t result in any visible loss of quality.
  • A descriptive warning will be shown on relevant puzzles should the Physics or Font Converter modules happen to be not linked to an application for some reason.
  • When using the puzzle texture from text, you can now set the colors for the text and background, as well as transparency for both text and background. As a result, this puzzle can generate fancy transparent textures on the fly. Make sure you enable transparency for the corresponding material.
  • Blender-Specific Features:
  • This Verge3D version is compatible with Blender 3.4.
  • White Noise node is now supported.
  • We fixed vertex colors which were broken due to changes in Python API of Blender 3.2.
  • Verge3D now supports animation along curve, which can be created in Blender using the Follow Path constraint.
  • Such the approach is more artist-friendly as baking path animation to keyframes is no longer required each time you need to export it to Verge3D. It also generates smaller files. Both Nurbs and Bezier curves can be used with this constraint.
  • New demo called Follow Path is now available in the Asset Store which shows off how to use the Follow Path constraint.
  • We reworked the Lines demo which is now compatible with the latest Blender and uses the Eevee renderer.
  • New demo called Vertex Colors is now available in the Asset Store.
  • New demo called Ambient Occlusion is now available in the Asset Store.
  • New demo called Postprocessing is now available in the Asset Store.
  • Reworked E-commerce Features (WordPress Plugin):
  • As you know, to this day Verge3D WordPress plugin included the integration with WooCommerce (a third-party WordPress plugin for creating online stores). Verge3D WordPress plugin also included our own simplistic set of features which was accessible for use via the place order puzzle.
  • For this update, we completely overhauled the latter piece of functionality, turning it into a full-featured e-commerce solution. The motivation behind this our work is that although there are many e-commerce solutions out there, none of them fits well into interactive 3D world. They would also require lots of hacks and coding to integrate with Verge3D/WebGL. We want to offer our users a complete integrated package for the most popular CMS on the market, which would include all features necessary for making sales efficient.
  • Major features we implemented for this update:
  • Proper itemization in orders.
  • Products and prices are now created in the admin interface, not in puzzles as before.
  • All products now have quantity.
  • Currencies can be selected in the plugin settings.
  • Attachments of various kind are available. Before this update you could only make screenshots and attach them to the order. However, now you can use any images, sounds, videos, PDFs, .txt files, and even glTF models. These files are then can be used to fulfill the order or just provide more information from the customer.
  • Generation of formal quotes and invoices, customizable with logo and notes and downloadable as PDF. These can be emailed, or attached to an order notification.
  • Possibility to make downloadable products.
  • Optional PayPal integration.
  • Improved email notifications. Emails are fully customisable.
  • Optional shipping and billing addresses.
  • Discounts and taxes.
  • Everything is configurable with hundreds of settings.
  • The main puzzle that creates the order is now called place order + in addition to the old puzzle place order which continues to work as before. We also significantly improved the security of the plugin by thoroughly verifying all incoming data.
  • The updated plugin is available from the official WordPress store. You can also install it manually from the wordpress folder of the Verge3D installation directory. Note that the WooCommerce part will continue to work as before.
  • We updated the demos Ring and Recliner for these new features so that you can have examples how they work.
  • PayPal Integration:
  • For those Verge3D users who seek the simplest e-commerce solution possible without even bothering about website, we implemented a new puzzle to pay via PayPal. Create a 3D scene, upload it to Verge3D Network and place the PayPal buy/donate button – what could be easier than that?
  • WebP Textures:
  • Images saved in modern WebP format can now be used with Verge3D. They were recently supported in Blender 3.2. WebP format is much more compact compared with PNG or JPEG images of similar quality. It offers both lossy and lossless file compression, and also supports alpha channel in both modes.
  • Besides Blender exporter, we integrated WebP with the replace texture and take screenshot puzzles. This format, however, is not compatible with memory-saving texture compression at the moment, as it is still to be supported in Khronos Group’s KTX tools.
  • Please note that WebP images can only be used in quite modern browsers. One can expect, however, that it will replace both PNG or JPEG formats on the web in the future.
  • Other Improvements:
  • A meaningful message rather than blank page is now shown when there are no apps in the applications folder.
  • We wrote a small guide on using absolute and relative URLs, as well as data URIs.
  • We improved the React.js and Vue.js templates by adding adapters that allow you to use React or Vue-based apps with the App Manager and Puzzles. See more info in the User Manual page.
  • We introduced a series of performance optimizations for the Puzzles editor. The feature can be enabled in the App Manager settings. As a result, it significantly speeds up scrolling and dragging of big scenarios, although at the expense of some visual degradation.
  • The Puzzles editor now generates cleaner JS code.
  • We fixed small UI issues in various puzzles. Particularly, the right-click feature collapse/expand now works better.
  • Desktop builds will always use high performance GPU if user computer has more than 1 GPU.
  • The load data puzzle can now disable caching of loaded files. Also .json files are automatically converted to dictionary when loaded.
  • The search field in the App Manager now supports special symbols.
  • The puzzle zoom camera now supports Ortho cameras as well. This feature was requested through the Enterprise support channel.
  • We improved Verge3D installer which now shows the software version and publisher in Windows’ Add/Remove apps and features dialog. It now also does not leave any files after uninstallation of Verge3D, except third-party plugins. Speaking of Verge3D plugins, we wrote an extensive guide to help you create installers for them.
  • We have synced the MIDI library with upstream, which should improve the playback of Roland GS files.
  • Bug Fixes:
  • We fixed scene loading crash occurred when multiple .hdr images were used with texture compression. Thanks for reporting this issue on the forums.
  • We fixed an issue with the multi-line text puzzle, when an empty line was added each time the Puzzles are saved. Thanks for reporting this on the forums. Also the cursor and the scrollbar are now correctly positioned with this puzzle if browser tab contents are scaled.
  • The puzzles set value and set rgb now work with materials that use video textures. We also fixed the puzzle get texture param that didn’t work properly with video textures. Finally, video textures can now be replaced by image textures, and not just the other way around.
  • We fixed the issue with desktop applications created very slowly which was introduced with Verge3D 4.0. This was because Electron.js binaries were downloaded again each time Verge3D was launched anew. Thanks for reporting this on the forums.
  • Verge3D can now properly load animations with keyframes that are positioned out of timeline. This issue was reported through the Enterprise support channel.
  • We fixed a rare issue sometimes occurred when a puzzle was disconnected from an input that had a default “shadow” puzzle in it.
  • We fixed the bug with the replace texture puzzle: when a static image is replaced by a canvas texture, this image no longer mysteriously disappear from the list of textures.
  • We fixed a bug with constraints assigned to multi-material objects.
  • We fixed the bug with annotation visibility. Thank for reporting it on the forums.
  • We fixed a crash occurred when editing argument names in a procedure puzzle, which happened if the procedure is used in 2 or more tabs.
  • The puzzle unbind element now properly works in all cases.
  • We fixed some issues with the multi-line text puzzle observed in Firefox and Safari.
  • We disabled ambient occlusion on Mali GPUs, mostly used by previous generations of Samsumg Galaxy devices, as a work around the artifacts problem reported on the forums.

New in Verge3D 4.0.1 for 3ds Max (Jun 20, 2022)

  • Installation, Applications and Demos:
  • The most important visible change with Verge3D 4.0 is that we separated user applications and settings, as well as stock demos, from the software installation. When starting the App Manager for the first time, it will suggest selecting a working folder for your applications (on Windows, this is usually inside Documents). This is where all your applications and the custom Puzzles library will now be stored.
  • You can also choose between “Light” or “Dark” themes in the same dialog. Both preferences can be changed later in the App Manager settings.
  • Having a separate folder for applications will make updating for new Verge3D versions easier. Also, you can now use different Verge3D flavors (Blender, 3ds Max, or Maya) with the same applications folder, rather than having to maintain a separate folder for each package.
  • Next, after installing Verge3D 4.0, you won’t see any stock demos listed in the App Manager (thus the file size of the distribution is only about 100 Mb now). The demos can now be freely downloaded upon request from the store section of the App Manager.
  • You can filter content by demos, tutorials, and libraries using small buttons on the right. We plan to add to this store various simple examples for more convenient learning how this or that feature works.
  • Finally, the software itself is installed in a system directory (usually Program Files on Windows). This normally requires admin privileges – if you happen not to have them, simply select a folder that you are permitted to use. All third-party Verge3D plugins must also be copied to this directory.
  • The personal settings for the App Manager are saved in another system folder (AppData/Roaming/Soft8Soft on Windows). This allows the system administrator to install Verge3D once for all users who can have their own settings each.
  • Texture Compression:
  • Here goes one of the most important features of this release. Texture compression enables images to use 4x-6x less video memory, and speeds up rendering thanks to more efficient memory access. This feature is especially crucial to hardware-restricted Apple devices, since insufficient memory is the main reason for big scenes crushing on iOS.
  • Texture compression is performed when you export a scene, if you enable the corresponding option.
  • Verge3D employs two compression algorithms which you can switch between:
  • UASTC is a modern method which offers best quality. It is good for everything including normal maps, ORM textures, etc.
  • ETC1S offers best compression and generates smallest files. However, it may cripple textures so you might use it only for non-contrast images (such as grass, wood, bricks, etc).
  • You can tweak efficiency-vs-quality by choosing the compression algorithm for each individual texture.
  • However, you don’t really need to choose between them and can safely leave the default Auto option, that corresponds to simply using UASTC in the current implementation (this behavior may change in the future).
  • Besides genuine texture compression, all HDR images are now compressed with LZMA (i.e. same method used for glTF files). This makes the HDR files 4x-6x times smaller, although they still occupy the same amount of video memory. This feature is turned off when you set the texture compression setting to Disabled.
  • We ensured that texture compression could be used with the puzzle replace texture. Also, the print performance info puzzle (as well as P-P-P hot keys) now outputs info about texture compression. Namely, it prints what exactly compression format is used internally by Verge3D on the target hardware (intended for advanced users).
  • Snowballs VR Revisited:
  • We have further upgraded our Snowballs VR demo. It now offers 3 types of controls:
  • Desktop controls with mouse and pointer lock (now works on localized keyboards too)
  • Mobile multi-touch controls
  • VR controls optimized for Oculus Quest 1/2
  • We also added more levels, more snowball guns, improved the graphics and UI, performed some performance optimizations, and streamlined the Puzzles logic.
  • We believe this small game have become one of the most advanced Verge3D apps ever created so far. All in all, this demo inspired us to add various features to simplify the creation of such huge yet code-less applications, as well as to fix many bugs in the engine.
  • 3ds Max-Specific Features:
  • Verge3D is now compatible with 3ds Max 2023. The version 2019 is no longer officially supported and not recommended for use.
  • The new glTF Material first appeared in 3ds Max 2023 is now supported by Verge3D, including all its settings.
  • Line render is now available for splines which can be used to implement various graphics effects, wireframes, physical ropes, etc. You can adjust the color and width for lines.
  • Controllers now properly work with Verge3D in localized variants of 3ds Max (e.g. German or Chinese).
  • The parameter Cutout (Opacity) is now supported for Physical Materials.
  • Animation of morph targets is now supported.
  • The Viewport Fit option (Vertical or Horizontal) is now available for cameras. You can use it to properly adjust your 3D UI elements to the user’s screen resolution. Thanks for suggesting this feature.
  • All Verge3D options in 3ds Max are now rolled up by default to make it more convenient for the users to use these options. We are thankful to Autodesk developers for advising us on how to properly implement this long awaited feature.
  • We fixed the bug with intensity of the default light sources.
  • We fixed the bug with anisotropic filtering for textures not working properly. Thanks for reporting this on the forums.
  • Color space is now correctly assigned to ORM textures generated for gltf-compatible materials. Thus lighting is no longer crippled for such models.
  • We fixed export crash when empty names are used for morph targets.
  • Other Improvements:
  • We optimized loading of images by assigning them to textures asynchronously.
  • The LZMA unpacker now works faster and occupies less memory thanks to using WebAssembly.
  • Verge3D Network directory was simplified. It now displays one level less in the list of uploaded files (i.e. skips the “applications“ folder).
  • All so called “player-based” demos that were causing much confusion among users were converted to “normal” apps, that is, are supplied with a mandatory .html file to run them.
  • Clipping planes can now properly cut objects with skeletal animation. This feature was suggested through the enterprise support channel.
  • The users of Verge3D DevKit (included in Enterprise and Ultimate packages) can now automate the updating of the engine and applications by running the Python script utils/keymanager.py.
  • A descriptive message is now shown in the App Manager if the local server is down, instead of ‘This site can’t be reached / localhost refused to connect’.
  • We implemented progressive loading of Asset Store entries which helps if Internet is slow. We also provided better titles and descriptions for the demos.
  • You can now navigate to the URL localhost:8668/reset to clean up the settings of the App Manager. Intended for advanced users, this is a handy way to begin from scratch.
  • Fixed Issues:
  • We fixed the bug with the combination of puzzles not and in list check occurrence.
  • Verge3D Puzzles - not and find in list
  • We fixed banding artifacts with dynamic ambient occlusion.
  • We fixed the bug with Puzzles editor when new tabs had no access to all procedures used in a scenario. We also fixed some issues when a tab is deleted. Also tabs are now created faster.
  • We fixed the bug with Puzzles editor’s context menu option Jump to Procedure Puzzle that didn’t work properly.
  • Verge3D Puzzles - option Jump to Procedure
  • We fixed the bug with disintegrating puzzles when a group of puzzles is being dragged (e.g. out of the library).
  • We fixed crashes occurred upon exiting an AR session.
  • Physics data are now properly cleaned up when the puzzle remove physics body is used.
  • We fixed the bug when dynamic ambient occlusion (GTAO) is used together with reflections. Thanks for reporting this.
  • The App Manager now properly works without Internet connection, which is needed for the Asset Store and Network Directory.
  • We fixed the bug with ambient occlusion not working in the AR/VR modes. Thanks for reporting this on the forums.
  • We implemented a workaround for a WebGL bug introduced in iOS 15.4. Thanks for reporting this.
  • Verge3D apps now work properly in WeChat browser on iOS 15.4. This issue was reported through the Enterprise support channel.
  • We fixed crashes in the Puzzles editor sometimes happened when puzzles are deleted. Thanks for reporting this.
  • We fixed rare export crashes related to case-sensitivity of file names (Windows-only).
  • We fixed the issue with normal-mapping of planar light probes, occurred when they are scaled.
  • We fixed z-fighting occurred on some non-Windows systems. This was achieved thanks to employing the 24-bit depth buffer which is part of WebGL 2.0.
  • We fixed the Windows-specific issue with line endings in the multi-line text puzzle.
  • We fixed the rare Puzzles bug caused by objects that: A) have morphing, B) have a clipping plane, and C) are multi-material, at the same time. This issue was reported through the Enterprise support channel.
  • We fixed the issue with incorrect lighting on originally empty scenes, that is when models are added in run time later.
  • We fixed a bug in Verge3D WordPress plugin related to incorrectly determining of product IDs.

New in Verge3D 4.0.1 for Maya (Jun 20, 2022)

  • Installation, Applications and Demos:
  • The most important visible change with Verge3D 4.0 is that we separated user applications and settings, as well as stock demos, from the software installation. When starting the App Manager for the first time, it will suggest selecting a working folder for your applications (on Windows, this is usually inside Documents). This is where all your applications and the custom Puzzles library will now be stored.
  • You can also choose between “Light” or “Dark” themes in the same dialog. Both preferences can be changed later in the App Manager settings.
  • Having a separate folder for applications will make updating for new Verge3D versions easier. Also, you can now use different Verge3D flavors (Blender, 3ds Max, or Maya) with the same applications folder, rather than having to maintain a separate folder for each package.
  • Next, after installing Verge3D 4.0, you won’t see any stock demos listed in the App Manager (thus the file size of the distribution is only about 100 Mb now). The demos can now be freely downloaded upon request from the store section of the App Manager.
  • You can filter content by demos, tutorials, and libraries using small buttons on the right. We plan to add to this store various simple examples for more convenient learning how this or that feature works.
  • Finally, the software itself is installed in a system directory (usually Program Files on Windows). This normally requires admin privileges – if you happen not to have them, simply select a folder that you are permitted to use. All third-party Verge3D plugins must also be copied to this directory.
  • The personal settings for the App Manager are saved in another system folder (AppData/Roaming/Soft8Soft on Windows). This allows the system administrator to install Verge3D once for all users who can have their own settings each.
  • Texture Compression:
  • Here goes one of the most important features of this release. Texture compression enables images to use 4x-6x less video memory, and speeds up rendering thanks to more efficient memory access. This feature is especially crucial to hardware-restricted Apple devices, since insufficient memory is the main reason for big scenes crushing on iOS.
  • Texture compression is performed when you export a scene, if you enable the corresponding option.
  • Verge3D employs two compression algorithms which you can switch between:
  • UASTC is a modern method which offers best quality. It is good for everything including normal maps, ORM textures, etc.
  • ETC1S offers best compression and generates smallest files. However, it may cripple textures so you might use it only for non-contrast images (such as grass, wood, bricks, etc).
  • You can tweak efficiency-vs-quality by choosing the compression algorithm for each individual texture.
  • However, you don’t really need to choose between them and can safely leave the default Auto option, that corresponds to simply using UASTC in the current implementation (this behavior may change in the future).
  • Besides genuine texture compression, all HDR images are now compressed with LZMA (i.e. same method used for glTF files). This makes the HDR files 4x-6x times smaller, although they still occupy the same amount of video memory. This feature is turned off when you set the texture compression setting to Disabled.
  • We ensured that texture compression could be used with the puzzle replace texture. Also, the print performance info puzzle (as well as P-P-P hot keys) now outputs info about texture compression. Namely, it prints what exactly compression format is used internally by Verge3D on the target hardware (intended for advanced users).
  • Snowballs VR Revisited:
  • We have further upgraded our Snowballs VR demo. It now offers 3 types of controls:
  • Desktop controls with mouse and pointer lock (now works on localized keyboards too)
  • Mobile multi-touch controls
  • VR controls optimized for Oculus Quest 1/2
  • We also added more levels, more snowball guns, improved the graphics and UI, performed some performance optimizations, and streamlined the Puzzles logic.
  • We believe this small game have become one of the most advanced Verge3D apps ever created so far. All in all, this demo inspired us to add various features to simplify the creation of such huge yet code-less applications, as well as to fix many bugs in the engine.
  • Maya-Specific Features:
  • Line render is now available for splines which can be used to implement various graphics effects, wireframes, physical ropes, etc. You can adjust the color and width for lines.
  • We fixed export crash when Arnold’s aiImage is present.
  • The alpha output of 3-channel JPEG textures now properly works.
  • We supported vertex colors via the aiUserDataColor node.
  • You can specify multiple custom attributes for this node:
  • Maya 2023 released this March now gained Verge3D support.
  • We fixed the issue with the camera option Fit Resolution Gate not working properly when it is set to Fill. This issue was reported through the Enterprise support channel.
  • We fixed the problem with exporting lines for scenes using non-default units. Thanks for reporting this on the forums.
  • We fixed potential problems with installation of Verge3D for Maya on Windows.
  • Other Improvements:
  • We optimized loading of images by assigning them to textures asynchronously.
  • The LZMA unpacker now works faster and occupies less memory thanks to using WebAssembly.
  • Verge3D Network directory was simplified. It now displays one level less in the list of uploaded files (i.e. skips the “applications“ folder).
  • All so called “player-based” demos that were causing much confusion among users were converted to “normal” apps, that is, are supplied with a mandatory .html file to run them.
  • Clipping planes can now properly cut objects with skeletal animation. This feature was suggested through the enterprise support channel.
  • The users of Verge3D DevKit (included in Enterprise and Ultimate packages) can now automate the updating of the engine and applications by running the Python script utils/keymanager.py.
  • A descriptive message is now shown in the App Manager if the local server is down, instead of ‘This site can’t be reached / localhost refused to connect’.
  • We implemented progressive loading of Asset Store entries which helps if Internet is slow. We also provided better titles and descriptions for the demos.
  • You can now navigate to the URL localhost:8668/reset to clean up the settings of the App Manager. Intended for advanced users, this is a handy way to begin from scratch.
  • Fixed Issues:
  • We fixed the bug with the combination of puzzles not and in list check occurrence.
  • Verge3D Puzzles - not and find in list
  • We fixed banding artifacts with dynamic ambient occlusion.
  • We fixed the bug with Puzzles editor when new tabs had no access to all procedures used in a scenario. We also fixed some issues when a tab is deleted. Also tabs are now created faster.
  • We fixed the bug with Puzzles editor’s context menu option Jump to Procedure Puzzle that didn’t work properly.
  • Verge3D Puzzles - option Jump to Procedure
  • We fixed the bug with disintegrating puzzles when a group of puzzles is being dragged (e.g. out of the library).
  • We fixed crashes occurred upon exiting an AR session.
  • Physics data are now properly cleaned up when the puzzle remove physics body is used.
  • We fixed the bug when dynamic ambient occlusion (GTAO) is used together with reflections. Thanks for reporting this.
  • The App Manager now properly works without Internet connection, which is needed for the Asset Store and Network Directory.
  • We fixed the bug with ambient occlusion not working in the AR/VR modes. Thanks for reporting this on the forums.
  • We implemented a workaround for a WebGL bug introduced in iOS 15.4. Thanks for reporting this.
  • Verge3D apps now work properly in WeChat browser on iOS 15.4. This issue was reported through the Enterprise support channel.
  • We fixed crashes in the Puzzles editor sometimes happened when puzzles are deleted. Thanks for reporting this.
  • We fixed rare export crashes related to case-sensitivity of file names (Windows-only).
  • We fixed the issue with normal-mapping of planar light probes, occurred when they are scaled.
  • We fixed z-fighting occurred on some non-Windows systems. This was achieved thanks to employing the 24-bit depth buffer which is part of WebGL 2.0.
  • We fixed the Windows-specific issue with line endings in the multi-line text puzzle.
  • We fixed the rare Puzzles bug caused by objects that: A) have morphing, B) have a clipping plane, and C) are multi-material, at the same time. This issue was reported through the Enterprise support channel.
  • We fixed the issue with incorrect lighting on originally empty scenes, that is when models are added in run time later.
  • We fixed a bug in Verge3D WordPress plugin related to incorrectly determining of product IDs.

New in Verge3D 4.0.1 for Blender (Jun 20, 2022)

  • Installation, Applications and Demos:
  • The most important visible change with Verge3D 4.0 is that we separated user applications and settings, as well as stock demos, from the software installation. When starting the App Manager for the first time, it will suggest selecting a working folder for your applications (on Windows, this is usually inside Documents). This is where all your applications and the custom Puzzles library will now be stored.
  • You can also choose between “Light” or “Dark” themes in the same dialog. Both preferences can be changed later in the App Manager settings.
  • Having a separate folder for applications will make updating for new Verge3D versions easier. Also, you can now use different Verge3D flavors (Blender, 3ds Max, or Maya) with the same applications folder, rather than having to maintain a separate folder for each package.
  • Next, after installing Verge3D 4.0, you won’t see any stock demos listed in the App Manager (thus the file size of the distribution is only about 100 Mb now). The demos can now be freely downloaded upon request from the store section of the App Manager.
  • You can filter content by demos, tutorials, and libraries using small buttons on the right. We plan to add to this store various simple examples for more convenient learning how this or that feature works.
  • Finally, the software itself is installed in a system directory (usually Program Files on Windows). This normally requires admin privileges – if you happen not to have them, simply select a folder that you are permitted to use. All third-party Verge3D plugins must also be copied to this directory.
  • The personal settings for the App Manager are saved in another system folder (AppData/Roaming/Soft8Soft on Windows). This allows the system administrator to install Verge3D once for all users who can have their own settings each.
  • Texture Compression:
  • Here goes one of the most important features of this release. Texture compression enables images to use 4x-6x less video memory, and speeds up rendering thanks to more efficient memory access. This feature is especially crucial to hardware-restricted Apple devices, since insufficient memory is the main reason for big scenes crushing on iOS.
  • Texture compression is performed when you export a scene, if you enable the corresponding option.
  • Verge3D employs two compression algorithms which you can switch between:
  • UASTC is a modern method which offers best quality. It is good for everything including normal maps, ORM textures, etc.
  • ETC1S offers best compression and generates smallest files. However, it may cripple textures so you might use it only for non-contrast images (such as grass, wood, bricks, etc).
  • You can tweak efficiency-vs-quality by choosing the compression algorithm for each individual texture.
  • However, you don’t really need to choose between them and can safely leave the default Auto option, that corresponds to simply using UASTC in the current implementation (this behavior may change in the future).
  • Besides genuine texture compression, all HDR images are now compressed with LZMA (i.e. same method used for glTF files). This makes the HDR files 4x-6x times smaller, although they still occupy the same amount of video memory. This feature is turned off when you set the texture compression setting to Disabled.
  • We ensured that texture compression could be used with the puzzle replace texture. Also, the print performance info puzzle (as well as P-P-P hot keys) now outputs info about texture compression. Namely, it prints what exactly compression format is used internally by Verge3D on the target hardware (intended for advanced users).
  • Snowballs VR Revisited:
  • We have further upgraded our Snowballs VR demo. It now offers 3 types of controls:
  • Desktop controls with mouse and pointer lock (now works on localized keyboards too)
  • Mobile multi-touch controls
  • VR controls optimized for Oculus Quest 1/2
  • We also added more levels, more snowball guns, improved the graphics and UI, performed some performance optimizations, and streamlined the Puzzles logic.
  • We believe this small game have become one of the most advanced Verge3D apps ever created so far. All in all, this demo inspired us to add various features to simplify the creation of such huge yet code-less applications, as well as to fix many bugs in the engine.
  • Verge3D for Blender Demos:
  • The stock app called Tea Ceremony was reworked to demonstrate all types of lights and shadows. Also a small demo called Metaballs was added to the Verge3D Asset Store.
  • We updated the Light Probe app (based on the similarly-named tutorial) to demonstrate both planar and cubemap reflection probes. You can download it from the Verge3D Asset Store.
  • We added a demo called Transparency to Verge3D Asset Store to show off all types of transparency supported by the engine.
  • Also we added a new demo called Clone Object to show the workings of the clone object puzzle.
  • Another demo called Drink Shop serves as an example of a WooCommerce application. You can try it live in the sandbox store.
  • We added an animation timeline to the Industrial Robot demo.
  • Finally, the small demo called Canvas Texture creates pictures on the fly using the HTML Canvas API.
  • Updating and Settings:
  • To simplify updating applications for new Verge3D versions, all available JavaScript modules are now copied into the application folder by default. Particularly, if you enable texture compression introduced in v.4.0, it will work even if the app was originally created with older Verge3D versions. If you are sure you won’t need some of the modules, you can skip them in the update dialog.
  • We also redesigned the UI for App Manager settings, which are now reside in tabs.
  • Sync with Three.js:
  • We have synced with version r137 of Three.js, the underlying WebGL library used by Verge3D. Most important features for Verge3D users include:
  • Unlimited morph targets (for browsers supporting WebGL 2.0). Before this update, only max 6 morph targets were available in Verge3D.
  • Improved rendering quality thanks to advanced texture filtering provided by hardware-accelerated sRGB textures (part of WebGL 2.0 specification).
  • Upgraded glTF loader that now supports more glTF extensions. This will be helpful if you are going to use files exported by glTF exporters other than Verge3D’s. The full list of supported extensions includes: KHR_draco_mesh_compression, KHR_lights_punctual, KHR_materials_clearcoat, KHR_materials_ior, KHR_materials_pbrSpecularGlossiness, KHR_materials_sheen, KHR_materials_specular, KHR_materials_transmission, KHR_materials_unlit, KHR_materials_volume, KHR_texture_basisu, KHR_texture_transform, KHR_mesh_quantization, EXT_texture_webp, EXT_meshopt_compression.
  • In addition, the export to usdz puzzle now uses the USDZExporter class from the latest Three.js library. This brought better support for transparent materials, among other features.
  • Sync with Google Blockly:
  • We upgraded the Puzzles editor by syncing with the latest version of Google Blockly framework. It now works much faster with big scenarios, and is more stable.
  • Also, all outdated puzzles will now show in your scenarios as red placeholders.
  • This will happen with old versions of such puzzles as play animation, replace scene, texture from text, external call, load sound, physics body params, physics apply vector, and ssao. Be sure to get rid of such puzzles (that have a warning sign on them) before upgrading to Verge3D 4.0.
  • Sync with Electron.js:
  • We have updated Verge3D’s web-to-desktop converter to use the latest version 19.0.4 of Electron.js. It improved stability and added some useful features.
  • GlTF Format:
  • We refactored the glTF format to make the files more conformant with the glTF specification. Particularly, the S8S extensions were overhauled. Also glTF-compatible materials no longer contain S8S extensions. We recommend reexporting all your scenes after updating for Verge3D 4.0.
  • Browser Compatibility:
  • We have removed legacy modules from the engine, namely Internet Explorer compatibility and legacy VR. Also the browsers must support WebAssembly as it is required for physics and some other features to work. This change will affect only 1-2% end users equipped with IE11 or mobile Safari before version 11 (iOS 11 was released in 2017). Still, if this does not look good to your audience, then you might prefer to stick to Verge3D 3.9.1 until you feel that you can ignore these older browsers.
  • Puzzles:
  • We added puzzles get procedure and call procedure that you can use to save a procedure to a variable and call it later in some other place. This allows you to implement callbacks and to structure your puzzles better.
  • The camera, which by default is restricted in vertical direction, can now rotate in the full 360° mode. You can enable this behavior by using a new option called orbit allow turnover which we added to the puzzle set camera param. Thanks for suggesting this feature.
  • We added a new primitive, plane with texture, to the puzzle create object.
  • We synced with upstream the hardware database used by the puzzle check performance.
  • The advanced play animation puzzle obtained default fields: from, to, and speed. This way you no longer need to add Number puzzles every time you want to play an animation range.
  • The puzzle check AR mode now has 3 slots to conveniently use Apple’s USDZ viewer without the need of extra logic in your Puzzles. See the demo Augmented Reality for usage example.
  • We added the option @media to the puzzle create CSS rule, to match the puzzle set style for CSS rule where such the option is present.
  • We added the targetTouches events to the puzzle get event property. To explain the difference, touches means a list of information for every finger currently touching the screen. On the contrary, targetTouches are filtered to only those touches that started out within the same HTML element. This feature allowed us to implement mobile multi-touch controls for the Snowballs VR demo, so that the left and right hands could be distinguished in the Puzzles scenario.
  • We implemented a new puzzle called set animation speed, which you can use not only to adjust the speed per se, but also to reverse the playback, even before the animation finishes playing to the end. Thanks for suggesting it on the forums back in 2019, and sorry for taking this so long.
  • The good old puzzle show now works with multi-material objects when they are originally hidden.
  • Blender-Specific Features:
  • We supported the node called Float Curve from the Converter category.
  • We supported 3 options, Multiply Add, Refract and Faceforward, in the node Vector Math.
  • Verge3D now properly handles scenes in which an armature is not assigned to any mesh.
  • The Brick Texture node no longer produces rendering artifacts.
  • We added a new material – brushed steel – to the Essential Material Pack and bumped its version to v.8.
  • We supported the Vector input option in the node Map Range. This option was introduced in Blender 3.1.
  • We dropped support for outdated Blender 2.80-2.82. This allowed us to eliminate some hacks and noticeably speed up the export. We also managed to drop all old shaders generated from these Blender versions which helped boost up shader compilation, resulting in scenes loading faster.
  • We supported Blender 3.2 and 3.3 alpha for this update. Specifically, Verge3D can now handle the output Alpha of the node Object Info introduced in Blender 3.2. E.g. you can clone an object, and set both color and alpha for each clone, thus making the cloned objects transparent.
  • Also you can now use two new nodes, Combine Color and Separate Color, to be shipped with upcoming Blender 3.3. Until this version is out, one uses nodes called Combine RGB/HSV and Separate RGB/HSV for the same purpose.
  • We fixed the export crash case related to baking of animation in Blender 3.1. Thanks for the report.
  • We fixed the bug with animation of curves. Thanks for the report.
  • We fixed the export crash with armature reported here.
  • Other Improvements:
  • We optimized loading of images by assigning them to textures asynchronously.
  • The LZMA unpacker now works faster and occupies less memory thanks to using WebAssembly.
  • Verge3D Network directory was simplified. It now displays one level less in the list of uploaded files (i.e. skips the “applications“ folder).
  • All so called “player-based” demos that were causing much confusion among users were converted to “normal” apps, that is, are supplied with a mandatory .html file to run them.
  • Clipping planes can now properly cut objects with skeletal animation. This feature was suggested through the enterprise support channel.
  • The users of Verge3D DevKit (included in Enterprise and Ultimate packages) can now automate the updating of the engine and applications by running the Python script utils/keymanager.py.
  • A descriptive message is now shown in the App Manager if the local server is down, instead of ‘This site can’t be reached / localhost refused to connect’.
  • We implemented progressive loading of Asset Store entries which helps if Internet is slow. We also provided better titles and descriptions for the demos.
  • You can now navigate to the URL localhost:8668/reset to clean up the settings of the App Manager. Intended for advanced users, this is a handy way to begin from scratch.
  • Fixed Issues:
  • We fixed the bug with the combination of puzzles not and in list check occurrence.
  • Verge3D Puzzles - not and find in list
  • We fixed banding artifacts with dynamic ambient occlusion.
  • We fixed the bug with Puzzles editor when new tabs had no access to all procedures used in a scenario. We also fixed some issues when a tab is deleted. Also tabs are now created faster.
  • We fixed the bug with Puzzles editor’s context menu option Jump to Procedure Puzzle that didn’t work properly.
  • Verge3D Puzzles - option Jump to Procedure
  • We fixed the bug with disintegrating puzzles when a group of puzzles is being dragged (e.g. out of the library).
  • We fixed crashes occurred upon exiting an AR session.
  • Physics data are now properly cleaned up when the puzzle remove physics body is used.
  • We fixed the bug when dynamic ambient occlusion (GTAO) is used together with reflections. Thanks for reporting this.
  • The App Manager now properly works without Internet connection, which is needed for the Asset Store and Network Directory.
  • We fixed the bug with ambient occlusion not working in the AR/VR modes. Thanks for reporting this on the forums.
  • We implemented a workaround for a WebGL bug introduced in iOS 15.4. Thanks for reporting this.
  • Verge3D apps now work properly in WeChat browser on iOS 15.4. This issue was reported through the Enterprise support channel.
  • We fixed crashes in the Puzzles editor sometimes happened when puzzles are deleted. Thanks for reporting this.
  • We fixed rare export crashes related to case-sensitivity of file names (Windows-only).
  • We fixed the issue with normal-mapping of planar light probes, occurred when they are scaled.
  • We fixed z-fighting occurred on some non-Windows systems. This was achieved thanks to employing the 24-bit depth buffer which is part of WebGL 2.0.
  • We fixed the Windows-specific issue with line endings in the multi-line text puzzle.
  • We fixed the rare Puzzles bug caused by objects that: A) have morphing, B) have a clipping plane, and C) are multi-material, at the same time. This issue was reported through the Enterprise support channel.
  • We fixed the issue with incorrect lighting on originally empty scenes, that is when models are added in run time later.
  • We fixed a bug in Verge3D WordPress plugin related to incorrectly determining of product IDs.

New in Verge3D 3.9.0 (Dec 9, 2021)

  • We are excited to announce the 3.9 release of Verge3D for Maya and Verge3D Ultimate. This update brings an easy way to create e-learning courses, transparent video textures, new texture-from-text puzzle, performance tweaks for adaptive rendering, further AO improvements, ORM optimizations, team collaboration via Verge3D Network, pointer lock for first-person games, VR quality upgrades, and our own URL shortener.
  • E-Learning and SCORM:
  • Although one could create educational content with Verge3D since the beginning, the toolkit lacked specialized functionality required by the e-learning industry. It changes today as we roll out the integration module that embraces the SCORM standard. This is the technology through which web-based content is supplied to most training applications – also known as learning management systems (LMS).
  • As a result, you can now convert your interactive 3D web application for use with any LMS by simply clicking a button in the App Manager! It will automatically create all the XML manifests according to the SCORM 1.2 specification. In the end, it will pack everything in a single zipped package ready for deployment.
  • Verge3D puzzles that wrap LMS API calls according to SCORM 1.2 specification
  • To make the LMS record the course progress, one would use the SCORM programming interface. As you can guess, where is no need to write any code with Verge3D, as we have puzzles for that! These puzzles are installed as the E-Learning plugin, similar to the E-Commerce puzzles. Using them, you can initialize a lesson, reward the student with scores, and set statuses—passed, failed or incomplete. You can even create multi-page courses that load different scenes for each lesson stage.
  • Usage example of Verge3D puzzles that set student score to LMS according to SCORM 1.2 specification
  • For more info on creating 3D web learning courses please refer to this doc page. See also the sources of our good old E-learning demo that we upgraded for use with LMS.
  • Afterimage Effect:
  • For this release we implemented the so called afterimage effect, also known as ghosting or motion blur. This effect simulates remembering of visuals by the human brain.
  • With a single puzzle, you can easily apply it to your scene—for example, to add the feeling of high speed.
  • Verge3D Network: Licenses and Team Collaboration
  • From now on, those customers who renewed or upgraded their licenses are no longer required to re-upload their applications. Once you activate your Verge3D copy with a new license key, you will automatically restore the access to your Verge3D Network directory. This also means that all existing web links will remain unchanged even if you re-upload the apps.
  • Here is the next important update: you can now download everything uploaded to Verge3D Network with a button. Beware – this operation overwrites local content!
  • You can use this feature to organize collaboration between team members, so that you and your colleagues can work on the same project at the same time. You can also migrate your projects to another computer, or just do backups and store them in the cloud. Be sure to enable Upload app sources in the App Manager settings if you want to share 3D editor scenes and Puzzles’ save files.
  • Another improvement with Verge3D Network is that you can now see the file size and upload date for your assets. You can find the total file size in the upmost line. This can help you to economize the cloud space and stay within the Network quotas.
  • Finally, the dialog window that appears after uploading a project zip to the Network, no longer suggests sharing it on social media.
  • Verge3D URL Shortener:
  • What if after uploading to Verge3D Network you would obtain something like
  • Https://v3d.net/18
  • Instead of
  • Https://cdn.soft8soft.com/AROAJSY2GOEHMOFUVPIOE:57c39c157b/applications/my_awesome_app/my_awesome_app.html
  • Sounds good? You got it!
  • All apps newly uploaded to Verge3D Network will automatically obtain a nice short URL. You can visit v3d.net to make compact links for those of your apps that are already deployed on Verge3D Network.
  • Verge3D URL Shortener website:
  • Actually, you can shorten any other web addresses with it. You are free to choose how your URL will look exactly, or just let it generate some link for you automatically. Enjoy!
  • VR Quality Improvements:
  • Here comes a series of improvements that we made for the existing WebXR implementation in Verge3D.
  • First of all, we have enabled the anti-aliasing (MSAA) for all VR scenes which will surely boost the rendering quality!
  • Next, Verge3D no longer reduces the resolution artificially when working on Daydream or cardboards. This will result in much sharper imagery produced by these devices. Speaking of cardboards, we have removed the support of such headsets that worked (quite poorly) via the Legacy VR option. Cardboard devices now only work on Android via Google VR Services.
  • We also fixed the issue with shadows from directional lights that were missing in VR mode.
  • And finally, we have greatly improved the VR experience for our Industrial Robot demo. Particularly, we made the UI more responsive, and optimized the performance specifically for the VR mode.
  • Pointer Lock for First-Person Games:
  • You can now enable the browser’s pointer lock feature for the First-Person camera. When turned on, the user’s first click on the canvas hides the cursor, and enables camera controls as in first-person 3D games.
  • Enabling pointer lock in Maya settings for first-person camera
  • Pointer lock is crucial for the VR game demo we are preparing for this Christmas. Stay tuned! 😉
  • Ambient Occlusion Upgrades:
  • In a series of improvements, we further upgraded the real-time ambient occlusion feature introduced in Verge3D 3.8.
  • The first of them is that the AO effect is now applied in the main render pass. As a result, anti-aliasing now correctly applies for this effect which helped remove some artifacts. Moreover, ambient occlusion now properly mixes with Standard Surface materials (see comparison on the screenshot).
  • The next upgrade relates to specular reflections which the AO now affects (besides the diffuse component). This technique is known by the name Ground Truth-based Specular Occlusion (GTSO), and Verge3D now leverages it to further improve the realism of your scenes.
  • Maya to Verge3D export settings: bent normals option for ambient occlusion
  • Then, we have implemented the Bent Normals option. When it is turned on, Verge3D uses modified (or “bent”) normals to sample the environment instead of the original ones. The modified normals represent the least occluded direction and make environment lighting a bit more realistic.
  • Further, ambient occlusion now better works with alpha. Particularly, we fixed the ghosting issue with fully transparent materials. Also AO now works better with Hemi lights added with the Puzzles or JavaScript.
  • Finally, we addressed this Android-specific issue, and made it possible to use ambient occlusion when the camera is switched. We also fixed an issue when AO is used with Ortho cameras.
  • New Puzzles: Texture from Text, Selector, Camera Params
  • We overhauled the puzzle texture from text. In fact, it is a completely new puzzle based on the Canvas-Txt library that only retained the name—yet the old puzzle will continue to work. This upgraded puzzle brings many important improvements: multi-line support, better justification, and the box parameters to flexibly position your text on the texture.
  • Texture to text Verge3D puzzle
  • A new puzzle is available in the Selectors category, called get by name. This puzzle will come in handy when referring to assets loaded in run-time. Prefer using it instead of Text puzzles to input objects, animations, or materials. This is also the recommended way to get a group by its name, without hacks.
  • Another new puzzle we called unbind element. It does the reverse to the bind element puzzle, i.e. frees the HTML element from following a 3D object. Thanks for suggesting it.
  • Finally, we implemented the puzzles get and set camera param. You can use them to adjust the camera by changing its FOV, speeds, limits, etc on the fly.
  • Performance Tweaks for Adaptive Rendering:
  • We introduced some new features with the Puzzles to give you more control over the performance of your Verge3D apps.
  • First of all, the puzzle remove post effects has obtained a switch to remove effects either added with post-processing puzzles, or those enabled in the 3D editor—that is, outline and ambient occlusion.
  • The puzzle set light param now has 3 options to tweak the shadows: use shadow, shadow map size, and shadow map filtering. You can play with these options to trade the quality for performance or vice versa.
  • The puzzle print performance profile (also printed with P-P-P hot keys) now warns when asset compression is not enabled. It will also warn you about any 4k textures or shadow maps used in your scene. This is because in WebGL, a 4k image occupies near 90 Mb of memory each!
  • Verge3D performance profile output:
  • Finally, we added another entry to the Puzzles library, called performance tweaks. This group of puzzles basically increases the resolution for powerful devices, or removes all post-effects and shadows for poor ones.
  • Simply drag it out to the puzzles of your app to make it adaptive to user hardware. We ourselves have added this to our most graphics intensive demos.
  • Upgraded Puzzles: Keyboard Controls, Fog, Video Alpha
  • The get and set camera params puzzles obtained a new dropdown option, keyboard controls. You can use it to dynamically enable or disable WASD and arrows keys for the user.
  • You can now add the linear fog to your scene with the fog puzzle. Before this update one could only use the exponential fog.
  • The get event property puzzle has obtained a new option in its dropdown, target.checked. It can get the status of an HTML checkbox (true of false) after interacting with it.
  • We added the beforeunload option to the dropdown of the event puzzle. This event is fired when the page closes. It may be particularly useful for finishing communication with a learning management system.
  • Finally, the replace texture puzzle has obtained a new setting for using canvas/video alpha. Basically, once you turn it on, the alpha channel of a video or a canvas gets to work just like usual image alpha. Supported video formats include WebM and HEVC/MOV. Thanks for suggesting this feature.
  • Maya-Specific Improvements:
  • We managed to improve the quality of ORM textures used in gltf-compatible materials by employing adaptive image scaling (that is, selecting the closest power-of-two size).
  • You can now use the Normalize setting for Area lights.
  • We fixed the bug with Influence Distance (a parameter of the reflection plane) which was not correctly interpreted in Maya viewport.
  • The App Manager now normally starts and the Sneak Peek button works on Fedora 35 and possibly other Linux distros with Python 3.10.
  • Finally, we fixed some minor UI issues with the Export Settings window.
  • 3ds Max-Specific Updates:
  • We managed to improve the quality of ORM textures used in gltf-compatible materials by employing adaptive image scaling (that is, selecting the closest power-of-two size).
  • Occlusion, roughness and metalness textures (ORM) in 3ds Max
  • Also the images for ORM textures are now processed much faster. This was achieved by using the native 3ds Max API instead of the ImageMagick tool. The new approach has reduced the file size of the Verge3D distribution noticeably.
  • Finally, we fixed some minor UI issues with the Export Settings window. We also fixed the export crash issue with polygons that have zero area, aka degenerate polygons. Thanks for reporting this.
  • Other Improvements and Fixed Bugs:
  • We fixed a bug with dynamic loading when the 3D UI-related setting HiDPI Compositing is used. Thanks for reporting this!
  • We removed deprecation warnings printed by Verge3D WordPress plugin when this CMS is set to debug mode.
  • We documented the JavaScript API for constraints.
  • The converter to desktop applications now suggests “Windows (64-bit)” by default instead of “None”.
  • The App Manager setting for Verge3D Network cache age no longer permits negative values.
  • We fixed an UI issue with the puzzle get gamepad prop.
  • The legacy variant of the engine now works with IE11 again.
  • And finally, the puzzle get URL data now properly handles special symbols.

New in Verge3D 3.8.0 Maya (Sep 27, 2021)

  • We are excited to announce the 3.8 release of Verge3D for Maya and Verge3D Ultimate. This update brings augmented reality to iOS via USDZ, dynamic ambient occlusion, a revisited approach to building 3D user interfaces, planar reflections with light probes, coverage transparency, doWe are excited to announce the 3.8 release of Verge3D for Maya and Verge3D Ultimate. This update brings augmented reality to iOS via USDZ, dynamic ambient occlusion, a revisited approach to building 3D user interfaces, planar reflections with light probes, coverage transparency, dozens shader nodes, new and improved Puzzles, and various optimizations.
  • Industrial Robot AR/VR:
  • We have ported the Industrial Robot demo to Maya for this release (with changes). It includes playing animation vs free interaction, a configurating feature, and the AR and VR modes.
  • Augmented Reality on iOS via USDZ:
  • At the moment, the browser WebXR technology is only available in Chrome for Android, with Apple still working on bringing it to mobile Safari. However, Apple also offers its own way to web-based AR using Pixar Universal Scene Description (USD) format, even if lacks interactivity of WebXR.
  • In this update we managed to implement a run-time exporter to compressed .usdz format with Puzzles.
  • As a corollary to that, it is now possible to create AR content for iOS thanks to the following simple procedure: first, export to USDZ, and then, replace the link for your “Enter AR” button.
  • For best results, we recommend using glTF-compatible materials. We have updated our Augmented Reality example to work on iOS. Check it out on your iPhone or iPad: link.
  • This Apple technology is rather limited compared to WebXR standard (which is currently under development for Safari). There is no animation, swapping model parts, etc. However, you can still change the materials, textures or colors in run time.
  • USD Materials
  • You can now conveniently use the only asset to export both to Verge3D/glTF and USDZ formats. This feature is provided by the usdPreviewSurface material, which – when exported to Verge3D – becomes a glTF-compatible PBR material.
  • So you can make both WebXR-based and Apple’s USDZ-based augmented reality apps from the same scene! Please not that this node is only available in Maya 2022 (with USD plugin installed). See the doc page for usage details.
  • New Ambient Occlusion:
  • You can now use new dynamic ambient occlusion which is based on the Ground Truth Ambient Occlusion (GTAO) technique.
  • Verge3D offers Distance, Factor and Trace Precision settings to tweak this effect.
  • The new ambient occlusion turns out to be much better than the effect previously provided by the SSAO puzzle. As such, we decided to remove the old SSAO effect from the engine. So, there is no more SSAO puzzle available for adding – yet any SSAO puzzles in old scenarios won’t disappear, but invoke the new GTAO-based technique instead.
  • 3D User Interfaces Revisited:
  • The early Verge3D versions suggested using camera-parented 3D objects for buttons, panels, sliders or text labels. After we introduced the HTML Puzzles, we switched to recommending the web-based approach to building UI/UX (with third-party tools such as Webflow). Now has come the time to revisit 3D user interfaces, as we are bringing 3 game-changing features to Verge3D.
  • Feature #1: Sticking to the Edge:
  • The first feature is the possibility to stick 3D objects to the viewport edge. The newly introduced setting Fit to Camera Edge, which becomes visible after you parent the object to the camera, does precisely that. It offers 4 parameters – Horizontal, Vertical, Fit Shape, and Fit Offset – using which you attach your panels or texts where you want whem to be, regardless of screen resolution or device.
  • Feature #2: Visibility Breakpoints:
  • The second feature is Visibility Breakpoints. Similar to CSS breakpoints, they allow you to display different sets of objects for different screen resolutions or mobile device orientations (landscape/portrait). Similarly, it can be used to re-arrange the UI as well.
  • Feature #3: HiDPI Compositing:
  • The third feature, which you might find helpful for building your UI, is HiDPI Compositing. It allows you to render an object (including its children) with a separate high-resolution render pass. Thus, you can significantly improve the quality on HiDPI screens (Retina displays and most mobile devices). This might be especially important when rendering Text objects, or any other elements you need to be sharp and precise.
  • We recommend using it with a simple shader (such as Emission), or for small objects, so that to not kill the performance.
  • Demo:
  • We have created a new e-commerce application Ring that in particular demoes the Fit to Camera Edge and the HiDPI Compositing features for UI objects.
  • Rationale for 3D UI:
  • Finally, why/when use 3D for user interfaces? Definitely, this approach is more “native” to the 3D artist than using HTML/CSS, and does not require external tools. But there is more in it: since the UI elements are genuine 3D objects, you can apply shaders, lighting, animation, morphing – you name it – making them truly interactive and seamlessly integrated into the scene. Potentially, this allows for effects much more engaging and interesting compared to the HTML/CSS-based approach.
  • Upgraded Light Probes:
  • The Global Illumination demo that features light probes introduced in version 3.7, is now available in the Verge3D distribution. Check it out live: link.
  • In the 3.7 release, we first introduced light probes with Reflection Cubemap as the only supported class. From now on, you can use planar light probes, which are enabled by adding Reflection Plane objects.
  • Also, the light probes feature obtained a new option – Custom Influence.
  • Using this option, you can distinguish what objects a light probe will affect, thus making the final render even more realistic (especially noticeable when using many overlapping light probes).
  • We used this feature in the Global Illumination demo. On the screenshot above you can see that the local lamp from kitchen no longer affects the ceiling.
  • The Reflection Cubemap object used to add light probes obtained the Visibility Selection Set feature. It denotes objects that are only rendered in the cube map. Also popup hints were added for all settings of reflection cubemap.
  • We also fixed an issue with importing scenes containing a Reflection CubeMap object.
  • Coverage Alpha Mode:
  • We supported Coverage for Alpha Mode. This feature allows you to get rid of triangle sorting artifacts thus achieving order-independent rendering for transparency. This type of transparency will only work when MSAA is enabled (which is usually true with the default Auto option selected for antialiasing).
  • More Maya-Specific Features:
  • We supported the Fit Resolution Gate setting for the camera (all 4 options). As a result, you can now select the dimension (e.g. vertical or horizontal), along which the field of view angle fits in the Verge3D application.
  • For this update we support a bunch of new nodes: aiFloatToInt, aiFloatToMatrix, aiFloatToRgba, aiRgbToVector, aiRgbaToFloat, aiVectorToRgb, aiClamp, aiColorConvert, aiComposite, aiRange, aiColorCorrect, aiShuffle, aiCheckerboard, aiImage, aiColorToFloat and aiTwoSided.
  • We supported Mirror and Wrap modes for the Ramp node.
  • We added a new setting named Fix Ortho Zoom. You can use it to make your orthographic camera properly work with objects parented to it, so that they don’t move when the user zooms the camera.
  • The previously introduced Clipping Planes feature obtained a new parameter – Render Side (including Front, Back, and Double-sided options). It may help for rendering complex geometry with cuts and holes.
  • We tweaked and rearranged the Verge3D-related settings and options to make them more compact and consistent with native UI of Maya. Particularly, we reorganized the Export Settings window by adding tabs.
  • We supported Maya behavior for handling transparency with the File node. As a result, luminance-based alpha channel is now used if the image is originally supplied without alpha (e.g., JPEG).
  • New Puzzles:
  • New puzzle, is scene loaded, is available. You can use it to check if a particular scene has been already loaded in dynamic loading scenarios. For real usage example, please refer to the Load Unload demo.
  • Another new puzzle, check performance, can be used to measure rendering capabilities of the user’s computer or device. Under the hood, it uses the open source library detect GPU to quickly run a benchmark and classify the user’s GPU as “good” or “poor”.
  • So, you can use this puzzle’s slots to load a simpler scene, or to disable some graphically intensive features (such as post-processing effects) for poor GPUs. On the other hand – if the user’s GPU appears to be powerful – you can boost the quality up!
  • We also added this benchmark to the WebGL Report page so that you can quickly check your GPU by simply opening this page in the browser.
  • Updated Puzzles:
  • The puzzles save state and undo state can now remove and create objects. Before, they could only change the objects’ state.
  • The puzzle get camera direction now works with ortho cameras.
  • We added the load option to the HTML event puzzle. Thanks for the suggestion!
  • The comment puzzle’s max length was increased from 50 to 120 characters.
  • Puzzles set transform, set object direction, and change local transform now can accept Vector (or List) inputs as well.
  • Puzzles set morph target and get morph target can now use Text inputs instead of having to select morph targets in the drop down menu. This might help implement a more procedural approach in your app by using variables.
  • You can now enable the name field for the add annotation puzzle, thus making annotation name different from its label (useful when you have multiple annotations with the same label).
  • The limit constraint and copy constraint puzzles now have options distance and transform respectively.
  • There is a new entry in the Puzzles library – Detect Pressed / Released. This combination of puzzles might come in handy for implementing interactivity with 3D UI elements. Basically, it detects if mouse/touch is being pressed or released upon the selected object.
  • Also, some other entries in the Puzzles library were simplified and/or commented for clarity.
  • API Changes:
  • We synchronized Verge3D with the underlying Three.js library (r130). Major changes in the code base include:
  • JS API for multiple render targets (MRT);
  • Support for realistic transmission in MeshPhysicalMaterial;
  • Support for WebXR layers to allow compositing between AR/VR scenes;
  • Improved performance for multi-shader materials.
  • Also, all programming APIs in v3d.module.js are now class-based.
  • Finally, we added extensive end-to-end and unit tests for the engine code. It should improve the stability of Verge3D in the long run.
  • Documentation:
  • We documented instructions on server side rendering. There were other various updates in the User Manual as well.
  • With help from our Chinese community, the User Manual has been translated to Chinese. Also the Russian version is almost ready.
  • Compatibility and Optimizations:
  • We created a variant of the engine runtime specifically to support legacy browsers such as Internet Explorer 11 or Safari found on very old iPhones/iPads. The engine uses this file (v3d.legacy.js) when you select the IE11 option at the app creation screen. Please note that this runtime is rather bulky and slow. The default Verge3D build is more compact and considerably faster – and it will work with >99% of the nowadays browsers.
  • Please note that Microsoft officially discontinued Internet Explorer. As such, we are likely to remove IE support from Verge3D in the future.
  • Further, we optimized the engine performance on Intel hardware thanks to using a simplified sRGB conversion technique in WebGL shaders.
  • Ray casting (used in when clicked, when hovered and ray cast puzzles) now works significantly faster for batched objects (created by applying the batch geometry puzzle) thanks to using acceleration structures.
  • We ensured Verge3D compatibility with upcoming Windows 11, as well as with the ARM version of Windows 10. We also ensured that WebGL 2.0 system works on recently released iOS 15.
  • Other Improvements:
  • Information about light probes used in the scene is now shown by the performance profile puzzle (or through P-P-P hot keys).
  • Also, the very same print performance puzzle (or P-P-P quick keys) now outputs potentially problematic issues in regard to performance (red-colored warnings). For example, on the screenshot below, the shadow map appears to be too big (4k) which may result in slower rendering.
  • On the other topic, we improved the quality of FXAA when HDR rendering is enabled. We also improved the stability of HiDPI rendering.
  • Bug Fixes:
  • We fixed the issue with missing background when exiting the AR mode. Thanks for reporting this!
  • We fixed the performance regression in download file puzzle. Thanks for the report.
  • We fixed an issue with the comment puzzle that caused the Puzzles Editor to crash in some cases. Thanks for the report.
  • We fixed engine crashes on older versions of iOS 11-12.
  • We fixed the critical issue with recently released Safari 15 that failed to initialize WebXR. Thanks for raising this issue. On the bright side, Safari 15 implemented WebGL 2.0 – thus bringing more advanced graphics with it!
  • We fixed the export crash occurred when using name spaces.
  • We fixed an export issue with Nurbs surfaces.
  • Zens shader nodes, new and improved Puzzles, and various optimizations.
  • Industrial Robot AR/VR Example
  • We have ported the Industrial Robot demo to Maya for this release (with changes). It includes playing animation vs free interaction, a configurating feature, and the AR and VR modes. Check it out: link.
  • Augmented Reality on iOS via USDZ
  • At the moment, the browser WebXR technology is only available in Chrome for Android, with Apple still working on bringing it to mobile Safari. However, Apple also offers its own way to web-based AR using Pixar Universal Scene Description (USD) format, even if lacks interactivity of WebXR.
  • In this update we managed to implement a run-time exporter to compressed .usdz format with Puzzles.
  • Verge3D puzzle for generating augmented reality content for iOS via USDZ
  • As a corollary to that, it is now possible to create AR content for iOS thanks to the following simple procedure: first, export to USDZ, and then, replace the link for your “Enter AR” button.
  • Verge3D export USDZ puzzle in action
  • For best results, we recommend using glTF-compatible materials. We have updated our Augmented Reality example to work on iOS. Check it out on your iPhone or iPad: link.
  • Augmented reality example working on iOS via USDZ
  • This Apple technology is rather limited compared to WebXR standard (which is currently under development for Safari). There is no animation, swapping model parts, etc. However, you can still change the materials, textures or colors in run time.
  • USD Materials:
  • You can now conveniently use the only asset to export both to Verge3D/glTF and USDZ formats. This feature is provided by the usdPreviewSurface material, which – when exported to Verge3D – becomes a glTF-compatible PBR material.
  • Maya usdPreviewSurface material example
  • So you can make both WebXR-based and Apple’s USDZ-based augmented reality apps from the same scene! Please not that this node is only available in Maya 2022 (with USD plugin installed). See the doc page for usage details.
  • New Ambient Occlusion:
  • You can now use new dynamic ambient occlusion which is based on the Ground Truth Ambient Occlusion (GTAO) technique.
  • Maya - ambient occlusion settings
  • Verge3D offers Distance, Factor and Trace Precision settings to tweak this effect.
  • Ambient occlusion example that uses Eevee settings
  • The new ambient occlusion turns out to be much better than the effect previously provided by the SSAO puzzle. As such, we decided to remove the old SSAO effect from the engine. So, there is no more SSAO puzzle available for adding – yet any SSAO puzzles in old scenarios won’t disappear, but invoke the new GTAO-based technique instead.
  • 3D User Interfaces Revisited:
  • The early Verge3D versions suggested using camera-parented 3D objects for buttons, panels, sliders or text labels. After we introduced the HTML Puzzles, we switched to recommending the web-based approach to building UI/UX (with third-party tools such as Webflow). Now has come the time to revisit 3D user interfaces, as we are bringing 3 game-changing features to Verge3D.
  • Verge3D for Maya settings related to 3D User Interfaces
  • Feature #1: Sticking to the Edge:
  • The first feature is the possibility to stick 3D objects to the viewport edge. The newly introduced setting Fit to Camera Edge, which becomes visible after you parent the object to the camera, does precisely that. It offers 4 parameters – Horizontal, Vertical, Fit Shape, and Fit Offset – using which you attach your panels or texts where you want whem to be, regardless of screen resolution or device.
  • Feature #2: Visibility Breakpoints:
  • The second feature is Visibility Breakpoints. Similar to CSS breakpoints, they allow you to display different sets of objects for different screen resolutions or mobile device orientations (landscape/portrait). Similarly, it can be used to re-arrange the UI as well.
  • Feature #3: HiDPI Compositing:
  • The third feature, which you might find helpful for building your UI, is HiDPI Compositing. It allows you to render an object (including its children) with a separate high-resolution render pass. Thus, you can significantly improve the quality on HiDPI screens (Retina displays and most mobile devices). This might be especially important when rendering Text objects, or any other elements you need to be sharp and precise.
  • We recommend using it with a simple shader (such as Emission), or for small objects, so that to not kill the performance.
  • Demo:
  • We have created a new e-commerce application Ring that in particular demoes the Fit to Camera Edge and the HiDPI Compositing features for UI objects.
  • Ring demo showcases 3D user interfaces
  • Rationale for 3D UI:
  • Finally, why/when use 3D for user interfaces? Definitely, this approach is more “native” to the 3D artist than using HTML/CSS, and does not require external tools. But there is more in it: since the UI elements are genuine 3D objects, you can apply shaders, lighting, animation, morphing – you name it – making them truly interactive and seamlessly integrated into the scene. Potentially, this allows for effects much more engaging and interesting compared to the HTML/CSS-based approach.
  • Upgraded Light Probes:
  • The Global Illumination demo that features light probes introduced in version 3.7, is now available in the Verge3D distribution. Check it out live: link.
  • Maya version of the global illumination demo
  • In the 3.7 release, we first introduced light probes with Reflection Cubemap as the only supported class. From now on, you can use planar light probes, which are enabled by adding Reflection Plane objects.
  • Button for adding Reflection Plane
  • Also, the light probes feature obtained a new option – Custom Influence.
  • Using this option, you can distinguish what objects a light probe will affect, thus making the final render even more realistic (especially noticeable when using many overlapping light probes).
  • Comparison of rendering quality with light probes custom influence enabled
  • We used this feature in the Global Illumination demo. On the screenshot above you can see that the local lamp from kitchen no longer affects the ceiling.
  • The Reflection Cubemap object used to add light probes obtained the Visibility Selection Set feature. It denotes objects that are only rendered in the cube map. Also popup hints were added for all settings of reflection cubemap.
  • We also fixed an issue with importing scenes containing a Reflection CubeMap object.
  • Coverage Alpha Mode:
  • We supported Coverage for Alpha Mode. This feature allows you to get rid of triangle sorting artifacts thus achieving order-independent rendering for transparency. This type of transparency will only work when MSAA is enabled (which is usually true with the default Auto option selected for antialiasing).
  • Maya settings for coverage alpha mode
  • More Maya-Specific Features:
  • We supported the Fit Resolution Gate setting for the camera (all 4 options). As a result, you can now select the dimension (e.g. vertical or horizontal), along which the field of view angle fits in the Verge3D application.
  • For this update we support a bunch of new nodes: aiFloatToInt, aiFloatToMatrix, aiFloatToRgba, aiRgbToVector, aiRgbaToFloat, aiVectorToRgb, aiClamp, aiColorConvert, aiComposite, aiRange, aiColorCorrect, aiShuffle, aiCheckerboard, aiImage, aiColorToFloat and aiTwoSided.
  • Maya newly supported nodes: aiFloatToInt, aiFloatToMatrix, aiFloatToRgba, aiRgbToVector, aiRgbaToFloat, aiVectorToRgb, aiClamp, aiColorConvert, aiComposite, aiRange, aiColorCorrect, aiShuffle, aiCheckerboard, aiImage, aiColorToFloat and aiTwoSided.
  • We supported Mirror and Wrap modes for the Ramp node.
  • We added a new setting named Fix Ortho Zoom. You can use it to make your orthographic camera properly work with objects parented to it, so that they don’t move when the user zooms the camera.
  • The previously introduced Clipping Planes feature obtained a new parameter – Render Side (including Front, Back, and Double-sided options). It may help for rendering complex geometry with cuts and holes.
  • Maya clipping plane settings - Render Side setting:
  • We tweaked and rearranged the Verge3D-related settings and options to make them more compact and consistent with native UI of Maya. Particularly, we reorganized the Export Settings window by adding tabs.
  • Maya - reorganized Verge3D export settings
  • We supported Maya behavior for handling transparency with the File node. As a result, luminance-based alpha channel is now used if the image is originally supplied without alpha (e.g., JPEG).
  • New Puzzles:
  • New puzzle, is scene loaded, is available. You can use it to check if a particular scene has been already loaded in dynamic loading scenarios. For real usage example, please refer to the Load Unload demo.
  • Verge3D "is scene loaded" puzzle:
  • Another new puzzle, check performance, can be used to measure rendering capabilities of the user’s computer or device. Under the hood, it uses the open source library detect GPU to quickly run a benchmark and classify the user’s GPU as “good” or “poor”.
  • So, you can use this puzzle’s slots to load a simpler scene, or to disable some graphically intensive features (such as post-processing effects) for poor GPUs. On the other hand – if the user’s GPU appears to be powerful – you can boost the quality up!
  • WebGL report page with performance benchmark output:
  • We also added this benchmark to the WebGL Report page so that you can quickly check your GPU by simply opening this page in the browser.
  • Updated Puzzles:
  • The puzzles save state and undo state can now remove and create objects. Before, they could only change the objects’ state.
  • Verge3D "save state" and "undo state" puzzles:
  • The puzzle get camera direction now works with ortho cameras.
  • Verge3D "get camera direction" puzzle:
  • We added the load option to the HTML event puzzle. Thanks for the suggestion!
  • The comment puzzle’s max length was increased from 50 to 120 characters.
  • Puzzles set transform, set object direction, and change local transform now can accept Vector (or List) inputs as well.
  • Puzzles set transform, set object direction, and change local transform now can accept Vector (or List) inputs as well.
  • Puzzles set morph target and get morph target can now use Text inputs instead of having to select morph targets in the drop down menu. This might help implement a more procedural approach in your app by using variables.
  • Puzzles set morph target and get morph target can now use Text inputs.
  • You can now enable the name field for the add annotation puzzle, thus making annotation name different from its label (useful when you have multiple annotations with the same label).
  • Enabling the name field for the add annotation puzzle
  • The limit constraint and copy constraint puzzles now have options distance and transform respectively.
  • There is a new entry in the Puzzles library – Detect Pressed / Released. This combination of puzzles might come in handy for implementing interactivity with 3D UI elements. Basically, it detects if mouse/touch is being pressed or released upon the selected object.
  • Also, some other entries in the Puzzles library were simplified and/or commented for clarity.
  • API Changes:
  • We synchronized Verge3D with the underlying Three.js library (r130). Major changes in the code base include:
  • JS API for multiple render targets (MRT);
  • support for realistic transmission in MeshPhysicalMaterial;
  • support for WebXR layers to allow compositing between AR/VR scenes;
  • improved performance for multi-shader materials.
  • Also, all programming APIs in v3d.module.js are now class-based.
  • Finally, we added extensive end-to-end and unit tests for the engine code. It should improve the stability of Verge3D in the long run.
  • Documentation:
  • We documented instructions on server side rendering. There were other various updates in the User Manual as well.
  • With help from our Chinese community, the User Manual has been translated to Chinese. Also the Russian version is almost ready.
  • Compatibility and Optimizations
  • We created a variant of the engine runtime specifically to support legacy browsers such as Internet Explorer 11 or Safari found on very old iPhones/iPads. The engine uses this file (v3d.legacy.js) when you select the IE11 option at the app creation screen. Please note that this runtime is rather bulky and slow. The default Verge3D build is more compact and considerably faster – and it will work with >99% of the nowadays browsers.
  • Please note that Microsoft officially discontinued Internet Explorer. As such, we are likely to remove IE support from Verge3D in the future.
  • Further, we optimized the engine performance on Intel hardware thanks to using a simplified sRGB conversion technique in WebGL shaders.
  • Ray casting (used in when clicked, when hovered and ray cast puzzles) now works significantly faster for batched objects (created by applying the batch geometry puzzle) thanks to using acceleration structures.
  • We ensured Verge3D compatibility with upcoming Windows 11, as well as with the ARM version of Windows 10. We also ensured that WebGL 2.0 system works on recently released iOS 15.
  • Other Improvements:
  • Information about light probes used in the scene is now shown by the performance profile puzzle (or through P-P-P hot keys).
  • Output of the performance profile puzzle that shows light probes
  • Also, the very same print performance puzzle (or P-P-P quick keys) now outputs potentially problematic issues in regard to performance (red-colored warnings). For example, on the screenshot below, the shadow map appears to be too big (4k) which may result in slower rendering.
  • Another output of the performance profile puzzle that shows potentially problematic issues
  • On the other topic, we improved the quality of FXAA when HDR rendering is enabled. We also improved the stability of HiDPI rendering.
  • Bug Fixes:
  • We fixed the issue with missing background when exiting the AR mode. Thanks for reporting this!
  • We fixed the performance regression in download file puzzle. Thanks for the report.
  • We fixed an issue with the comment puzzle that caused the Puzzles Editor to crash in some cases. Thanks for the report.
  • We fixed engine crashes on older versions of iOS 11-12.
  • We fixed the critical issue with recently released Safari 15 that failed to initialize WebXR. Thanks for raising this issue. On the bright side, Safari 15 implemented WebGL 2.0 – thus bringing more advanced graphics with it!
  • We fixed the export crash occurred when using name spaces.
  • We fixed an export issue with Nurbs surfaces.

New in Verge3D 3.8.0 for 3ds Max (Sep 27, 2021)

  • We are excited to present a new release of Verge3D for 3ds Max! Version 3.8 brings augmented reality to iOS via USDZ, dynamic ambient occlusion, a revisited approach to building 3D user interfaces, planar reflections with light probes, coverage transparency, many new Arnold nodes, new and improved Puzzles, and various optimizations.
  • Augmented Reality on iOS via USDZ:
  • At the moment, the browser WebXR technology is only available in Chrome for Android, with Apple still working on bringing it to mobile Safari. However, Apple also offers its own way to web-based AR using Pixar Universal Scene Description (USD) format, even if lacks interactivity of WebXR.
  • In this update we managed to implement a run-time exporter to compressed .usdz format with Puzzles.
  • As a corollary to that, it is now possible to create AR content for iOS thanks to the following simple procedure: first, export to USDZ, and then, replace the link for your “Enter AR” button.
  • For best results, we recommend using glTF-compatible materials. We have updated our Augmented Reality example to work on iOS.
  • This Apple technology is rather limited compared to WebXR standard (which is currently under development for Safari). There is no animation, swapping model parts, etc. However, you can still change the materials, textures or colors in run time.
  • USD Materials:
  • You can now conveniently use the only asset to export both to Verge3D/glTF and USDZ formats. This feature is provided by the Usd Preview Surface material, which – when exported to Verge3D – becomes a glTF-compatible PBR material.
  • So you can make both WebXR-based and Apple’s USDZ-based augmented reality apps from the same scene! Please not that this node is only available in 3ds Max 2022 (with USD plugin installed).
  • New Ambient Occlusion:
  • You can now use new dynamic ambient occlusion which is based on the Ground Truth Ambient Occlusion (GTAO) technique.
  • Verge3D offers Distance, Factor and Trace Precision settings to tweak this effect.
  • The new ambient occlusion turns out to be much better than the effect previously provided by the SSAO puzzle. As such, we decided to remove the old SSAO effect from the engine. So, there is no more SSAO puzzle available for adding – yet any SSAO puzzles in old scenarios won’t disappear, but invoke the new GTAO-based technique instead.
  • 3D User Interfaces Revisited:
  • The early Verge3D versions suggested using camera-parented 3D objects for buttons, panels, sliders or text labels. After we introduced the HTML Puzzles, we switched to recommending the web-based approach to building UI/UX (with third-party tools such as Webflow). Now has come the time to revisit 3D user interfaces, as we are bringing 3 game-changing features to Verge3D.
  • Feature #1: Sticking to the Edge:
  • The first feature is the possibility to stick 3D objects to the viewport edge. The newly introduced setting Fit to Camera Edge, which becomes visible after you parent the object to the camera, does precisely that. It offers 4 parameters – Horizontal, Vertical, Fit Shape, and Fit Offset – using which you attach your panels or texts where you want whem to be, regardless of screen resolution or device.
  • Feature #2: Visibility Breakpoints:
  • The second feature is Visibility Breakpoints. Similar to CSS breakpoints, they allow you to display different sets of objects for different screen resolutions or mobile device orientations (landscape/portrait). Similarly, it can be used to re-arrange the UI as well.
  • Feature #3: HiDPI Compositing:
  • The third feature, which you might find helpful for building your UI, is HiDPI Compositing. It allows you to render an object (including its children) with a separate high-resolution render pass. Thus, you can significantly improve the quality on HiDPI screens (Retina displays and most mobile devices). This might be especially important when rendering Text objects, or any other elements you need to be sharp and precise.
  • We recommend using it with a simple shader (such as Emission), or for small objects, so that to not kill the performance.
  • Demo:
  • We have improved our older demo application Ring to use the Fit to Camera Edge and the HiDPI Compositing for UI objects. They now look much sharper indeed!
  • We also improved the graphics quality of the Ring demo with refraction, used dynamic text to show the price, and added auto-rotation.
  • Rationale for 3D UI:
  • Finally, why/when use 3D for user interfaces? Definitely, this approach is more “native” to the 3D artist than using HTML/CSS, and does not require external tools. But there is more in it: since the UI elements are genuine 3D objects, you can apply shaders, lighting, animation, morphing – you name it – making them truly interactive and seamlessly integrated into the scene. Potentially, this allows for effects much more engaging and interesting compared to the HTML/CSS-based approach.
  • Upgraded Light Probes:
  • The Global Illumination demo that features light probes introduced in version 3.7, is now available in the Verge3D distribution. Check it out live: link.
  • In the 3.7 release, we first introduced light probes with Reflection Cubemap as the only supported class. From now on, you can use planar light probes, which are enabled by adding V3DReflectionPlane objects. The object can be found in the Create panel -> Helpers category -> Verge3D subcategory.
  • As a result, you can now implement real-time mirrors or floor reflections! The reflections respect normal mapping as well.
  • Also, the light probes feature obtained a new option – Custom Influence.
  • Using this option, you can distinguish what objects a light probe will affect, thus making the final render even more realistic (especially noticeable when using many overlapping light probes).
  • We used this feature to further improve the previously introduced Global Illumination demo. On the screenshot above you can see that the local lamp from kitchen no longer affects the ceiling.
  • We also fixed an issue with importing scenes containing a Reflection CubeMap object.
  • Coverage Alpha Mode:
  • We supported Coverage for Alpha Mode. This feature allows you to get rid of triangle sorting artifacts thus achieving order-independent rendering for transparency. This type of transparency will only work when MSAA is enabled (which is usually true with the default Auto option selected for antialiasing).
  • More 3ds Max-Specific Features:
  • For this update we supported a bunch of new maps: Checkerboard, Image, Two Sided, Float To Int, Float To Matrix, Float To RGBA, RGB To Vector, RGBA To Float, Vector To RGB, Shuffle, Clamp, Color Convert, Color Correct, Range, Float To RGB, and RGB To Float.
  • We added a new setting named Fix Ortho Zoom. You can use it to make your orthographic camera properly work with objects parented to it, so that they don’t move when the user zooms the camera.
  • The previously introduced Clipping Planes feature obtained a new parameter – Render Side (including Front, Back, and Double-sided options). It may help for rendering complex geometry with cuts and holes.
  • We tweaked and rearranged the Verge3D-related settings and options to make them more compact and consistent with native UI of 3ds Max. Particularly, we reorganized the Export Settings window by adding tabs.
  • New Puzzles:
  • New puzzle, is scene loaded, is available. You can use it to check if a particular scene has been already loaded in dynamic loading scenarios. For real usage example, please refer to the Load Unload demo.
  • Another new puzzle, check performance, can be used to measure rendering capabilities of the user’s computer or device. Under the hood, it uses the open source library detect GPU to quickly run a benchmark and classify the user’s GPU as “good” or “poor”.
  • So, you can use this puzzle’s slots to load a simpler scene, or to disable some graphically intensive features (such as post-processing effects) for poor GPUs. On the other hand – if the user’s GPU appears to be powerful – you can boost the quality up!
  • We also added this benchmark to the WebGL Report page so that you can quickly check your GPU by simply opening this page in the browser.
  • Updated Puzzles:
  • The puzzles save state and undo state can now remove and create objects. Before, they could only change the objects’ state.
  • The puzzle get camera direction now works with ortho cameras.
  • We added the load option to the HTML event puzzle. Thanks for the suggestion!
  • The comment puzzle’s max length was increased from 50 to 120 characters.
  • Puzzles set transform, set object direction, and change local transform now can accept Vector (or List) inputs as well.
  • Puzzles set morph target and get morph target can now use Text inputs instead of having to select morph targets in the drop down menu. This might help implement a more procedural approach in your app by using variables.
  • You can now enable the name field for the add annotation puzzle, thus making annotation name different from its label (useful when you have multiple annotations with the same label).
  • The limit constraint and copy constraint puzzles now have options distance and transform respectively.
  • There is a new entry in the Puzzles library – Detect Pressed / Released. This combination of puzzles might come in handy for implementing interactivity with 3D UI elements. Basically, it detects if mouse/touch is being pressed or released upon the selected object.
  • Also, some other entries in the Puzzles library were simplified and/or commented for clarity.
  • API Changes
  • We synchronized Verge3D with the underlying Three.js library (r130). Major changes in the code base include:
  • JS API for multiple render targets (MRT);
  • support for realistic transmission in MeshPhysicalMaterial;
  • support for WebXR layers to allow compositing between AR/VR scenes;
  • improved performance for multi-shader materials.
  • Also, all programming APIs in v3d.module.js are now class-based.
  • Finally, we added extensive end-to-end and unit tests for the engine code. It should improve the stability of Verge3D in the long run.

New in Verge3D 3.8.0 for Blender (Sep 23, 2021)

  • We fixed the issue with missing background when exiting the AR mode. Thanks for reporting this!
  • We fixed the performance regression in download file puzzle. Thanks for the report.
  • We fixed an issue with the comment puzzle that caused the Puzzles Editor to crash in some cases. Thanks for the report.
  • We fixed engine crashes on older versions of iOS 11-12.
  • We fixed the critical issue with recently released Safari 15 that failed to initialize WebXR. Thanks for raising this issue. On the bright side, Safari 15 implemented WebGL 2.0 – thus bringing more advanced graphics with it!

New in Verge3D 3.8.0 Preview 1 Blender (Jun 29, 2021)

  • The light probes feature obtained a new option – Custom Influence.
  • As a result, you can distinguish what objects a light probe will affect, thus making the final render even more realistic (especially noticeable when using many overlapping light probes).
  • Alpha Hashed / Coverage (Blender, 3ds Max, Maya):
  • We supported the so called Alpha Hashed transparency (in Blender), called Coverage in 3ds Max and Maya. This feature allows you to get rid of triangle sorting artifacts thus achieving order-independent rendering for transparency. This type of transparency will only work when MSAA is enabled (which is usually true with the default Auto option selected for antialiasing).
  • Maya-specific:
  • The Reflection Cubemap object used to add light probes obtained the Visibility Selection Set feature (previously available only for Blender and 3ds Max). It denotes objects that are only rendered in the cube map. Also popup hints were added for all settings of reflection cubemap.
  • We supported the Fit Resolution Gate setting for the camera (all 4 options). As a result, you can now select the dimension (e.g. vertical or horizontal), along which the field of view angle fits in the Verge3D application.
  • New Maya nodes are supported by Verge3D: aiCheckerboard, aiImage, aiColorToFloat and aiTwoSided.
  • Puzzles:
  • Puzzles set transform, set object direction, and change local transform now can accept Vector (or List) inputs as well.
  • Puzzles set morph target and get morph target can now use Text inputs instead of having to select morph targets in the drop down menu. This might help implement a more procedural approach in your app by using variables.
  • You can now enable the name field for the add annotation puzzle, thus making annotation name different from its label (useful when you have multiple annotations with the same label).
  • Other improvements:
  • With help from our Chinese community, the User Manual has been translated to Chinese.
  • We fixed the grave performance issue with SSAO effect – it now works much faster!

New in Verge3D 3.7.1 for Blender (Jun 22, 2021)

  • We fixed the critical performance regression introduced with the recent release especially noticeable on low-end hardware (up to 50% drop in FPS). Thanks for bringing this up!
  • HTML files are now properly sorted in the App Manager (that is, the “main” .html file comes first, and others is alphabetical order).
  • Morphing and skinning now properly work with clipping planes.
  • The App Manager now shows up meaningful messages in case of errors, such as incorrect system time, or file access denial.
  • We fixed crash of the get region puzzle. Thanks for the report!
  • Slashes and backslashes are now forbidden for use in application names as these symbols crashed the App Manager.
  • We fixed the issue with Chrome’s auto-translation feature that crippled applications. Thanks for the report!
  • Blender 3.0 which is currently in alpha is now supported by Verge3D.
  • The cursor is now correctly positioned on multi-line / exec script puzzles when HiDPI displays are used.
  • The Personalizing section of the User Manual was expanded to include further application’s HTML file customizations (title, SEO, social media image, etc).

New in Verge3D 3.7.0 for Blender (May 26, 2021)

  • The long-awaited update has finally arrived! We had our reasons for the prolonged release cycle, and here they are. Verge3D 3.7 for Blender introduces the global illumination technique to drastically improve the realism of your scenes, brings the clipping planes to show off the internals of complex objects, integrates tools for development of mobile and desktop applications, implements geometry batching at run-time and the wireframe mode. Besides, we included 3 new demos in this update. Make yourself comfortable, as this might be a long read!
  • Global Illumination:
  • You now have the possibility to use Eevee’s light probes to greatly raise the realism and vibe of your scenes. Light probes can be added via the usual Add Object menu (for now, only Reflection Cubemaps will work in Verge3D).
  • Besides the numeric parameters, we implemented both Sphere and Box parallax types so that it takes into account the objects’ locations relative to a light probe. You can also override these settings using the Custom Parallax option which is also supported.
  • Upon loading, specular and diffuse lighting from all the scene is baked for each light probe and applied to all objects.
  • See how indirect lighting plays in our new interior demo: try switching day/night, turning on the lamps, and configuring the decors!
  • In addition, a puzzle for updating light probes was added to the Objects category. You can use it to re-render reflection cube maps if the scene was updated (e.g. when a new object is dynamically loaded).
  • The descriptions of all settings available with this technique have been documented on this page.
  • Clipping Planes:
  • You can now easily and interactively cut your models to show what is inside thanks to the clipping planes feature. See how this works in this demo.
  • clipping planes interactive demo
  • A clipping plane (or multiple planes) can be added in Blender using the Add > Verge3D > Clipping Plane menu.
  • adding Clipping Planes in Verge3D for Blender
  • This object’s XY axes represent the plane, while the Z axis represents the normal of the cross-section.
  • The clipping planes can be parented to some object to be dragged with the mouse or animated in a fully interactive fashion. The cross-section can have a Diffuse BSDF material, for which you can set the color and the alpha value.
  • Finally, we ensured that clipping planes can be added at run time, or applied to objects loaded at run time.
  • Verge3D for Android and iOS:
  • That’s right: you can now create mobile applications out of your Verge3D scenes and puzzles for publishing in Google Play or App Store respectively!
  • For this purpose, we have integrated a converter tool to the App Manager, which produces mobile application templates based on Cordova, a powerful open-source mobile development framework.
  • The obtained templates can then be easily built and published in mobile stores using the standard procedures. Please see our comprehensive guide on how to do that.
  • Specifically to facilitate mobile development, we have added several options to the HTML puzzle on event: deviceready, pause, and resume. You should use them with the document selector.
  • This way you can detect the moment when the user launches, hides or reveals your app on the phone or tablet, and modify the behavior accordingly. Most importantly, you should pause the sounds otherwise the user will kill you may dislike the experience.
  • We have used the converter on a Verge3D example–the Farmer’s Journey game–to bring it to the mobile platform. Check it out: App Store.
  • Desktop Applications with Verge3D
  • In addition to mobile apps, you can now create native desktop applications using the same converter tool mentioned above. In fact, it is a more streamlined process thanks to using Electron.
  • The App Manager will automatically download Electron binaries for a selected platform (supported are Win, macOS, or Linux / 64-bit, 32-bit or ARM) and convert your Verge3D application into a desktop executable ready for running. See this Manual page for more instructions.
  • As a result, you can create fully offline applications that run without the need to first install Verge3D or a local web server.
  • Wireframe Mode:
  • A puzzle for enabling the wireframe rendering has been implemented. You can find it in the Materials category.
  • Verge3D wireframe mode
  • Geometry Batching:
  • You can now merge the geometry of a specified group of meshes to improve the rendering performance thanks to the new puzzle batch geometry.
  • Under the hood, this puzzle collects meshes with similar properties, such as material in use, shadow settings, rendering order, etc. Then it creates a new batch and appends it to the scene. Objects that can’t be merged together are left intact.
  • To observe if batching helps, you can open up the browser console (F12):
  • In each line you can see the name of the created batch object. For example, the “Adding batch object: big_table_wood_x6_batch” line says that 6 meshes with the “big_table_wood” material were merged to a new batch object “big_table_wood_x6_batch”.
  • Be sure to NOT batch objects that you’re planning to move around, animate, or otherwise update, as this won’t work after merging.
  • Continuous Collision Detection:
  • Verge3D’s physics module now supports the so called continuous collision detection (CCD) technique. It significantly improves simulation for quickly moving objects such as projectiles, pinball/billiard/bowling balls, etc.
  • You can use the ccd motion threshold and ccd swept sphere radius options of the puzzle apply body param to easily setup CCD. This technique works by creating a big sphere around your fast small object to experience collisions instead of it.
  • Data Processing with Puzzles:
  • Data URI can now be used as input for the puzzles read JSON and read CSV. As a result, these puzzle can now be directly connected with the open file and drop file to puzzles. So you can now load .json or .csv files from a local computer (before it was only possible from the network).
  • Besides, the download file puzzle can now use lists, dictionaries or text as input (before it accepted only Data URI). This basically means that you can now download not only images (such as taken screenshots), but also data of any type, for example: save files of the configurator, saved game progress, etc.
  • The export to gltf puzzle now returns data in url-encoded JSON format which allows you to easily edit the exported data. For example, you can add some custom data to an object and export it.
  • App Manager:
  • The Blank Scene template was added to the menu for creating new apps. An application created with this template will be missing lights, cameras, and the default cube, although the HDR lighting will be available. You can use this template for procedural scene creation, without even opening Blender.
  • The option Hide stock applications is available in the App Manager settings. This way you can narrow down the list of apps you are working with to a smaller set.
  • Finally, the App Manager’s Network Directory can now display more than 1000 files. Thanks for bringing this up.
  • New Puzzles:
  • With the puzzle get style you can retrieve a CSS property of an HTML element. This puzzle might come in handy for configurators. For example, you can use the following setup to assign the material color from the background color of some HTML element:
  • New puzzles get playback time and set playback time which you can use for sounds (of music type), videos or MIDIs.
  • We also fixed an error printed in the browser console when using the MIDI format.
  • A new puzzle is available in the HTML category: remove html elem. You can use it to delete an element from your .html page by accessing its id.
  • Updated Puzzles
  • You can now select mouse buttons in the when dragged over puzzle (thanks for suggesting this feature).
  • The JavaScript code generated by the Puzzles Editor is now more compact thanks to reducing the number of global variables and inserting certain code chunks on demand. The FPS counter displayed in the Puzzles Editor was also improved. In addition, we fixed some crashes related to the Physics puzzles.
  • The right-click menu for some puzzles now contains the option for creating the associated puzzle. E.g. for the when clicked puzzle you can quickly create picked object, for show – hide and other way around, for open file – opened file, load data – loaded data, etc.
  • There are some good news for AR content developers – the drag puzzles now work in AR mode. Be sure to turn on the allow HTML option when using this feature.
  • allow HTML option in verge3d enter AR puzzle
  • The puzzle feature available now contains the do not track option. With it, you can detect if the users set their browser to Do Not Track mode.
  • The puzzle export gltf now supports animations through the option export anims. Also this puzzle will work more robustly.
  • Area Lights and Shadows:
  • The Area lights now cast shadows (which are similar to Point lights). This opens up new possibilities for playing with advanced lighting which we showed off in the following cute demo, where you can load scene variants with Spot and Area lights.
  • Other Improvements:
  • We added the Documentation and Report a Bug buttons to the Verge3D addon panel in Blender preferences for easier access to these resources.
  • buttons on the Verge3D addon panel in Blender
  • Shadows can now be used together with screen-space reflection/refraction.
  • All interpolation types offered by the Map Range node are now supported by Verge3D.
  • The FAQ page of the User Manual were updated and supplemented with new info.
  • We created a new forum specifically for Verge3D plugins. Use it to search for, discuss or advertise your plugins.
  • The WordPress plugin was updated to indicate the compatibility with the newest versions of this CMS.
  • We fixed the issue with the Image Texture node when using the Box projection and when its Blend parameter is set exactly to 0, which behaved like z-fighting.
  • We optimized export when LZMA compression is on, so that it no longer freezes the 3D editor while compressing.
  • We optimized the loading of the documentation pages and fixed some issues with search.
  • Finally, we ensured Verge3D to be compatible with Blender 2.93 which is currently in beta.
  • Fixed Bugs:
  • We fixed App Manager crash occurred in cases when the application directory contains a folder ending with .js, .css, or .html. Also the App Manager now ignores npm’s node_modules directory which may significantly improve performance if you’re using npm.
  • We fixed a performance issue with outlining. This effect will now work faster.
  • We fixed a minor issue with the load scene puzzle.
  • We fixed the bug with incorrect gamma applied to the color of the outlining effect.
  • We fixed the bug with the Basis shape key which was working incorrectly in some cases.
  • We fixed WebGL 1.0 not working with supersampling anti-aliasing. This issue particularly affected Apple devices. Thanks for the report.
  • We fixed the draw line puzzle regression. Thanks for the report.
  • The feature for uploading zip archives to Verge3D Network now actually deflates the files.
  • We fixed the bug with duplicate procedure puzzles. Thanks for the report.
  • The internal engine-specific material MeshShadowMaterial accessible via JavaScript API now works correctly.
  • The HTML puzzle bind element now works correctly when the camera looks in the opposite direction. Thanks for the report.
  • The puzzles set light param and get light param now consistently interpret Blender’s light intensity setting which is set in watts.
  • We fixed some issues with Internet Explorer 11. By the way, this browser has recently been discontinued by Microsoft, so we might drop it eventually in some future version.
  • Wrap modes and texture encoding settings now work for video textures. Thanks for the report.
  • The App Manager now properly handles files that have names starting with special symbols (such as & ? #).

New in Verge3D 3.6.0 for Blender (Feb 9, 2021)

  • 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.
  • Sheen:
  • 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
  • Area Lights:
  • You can now use Blender’s Area lights of Square and Rectangle types.
  • Text Objects
  • 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.
  • Blender 2.92:
  • 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.

New in Verge3D 2.15 Preview 3 (Sep 27, 2019)

  • Features and Improvements:
  • The default fullscreen button can now be styled with the CSS classes fullscreen-button, fullscreen-open and fullscreen-close. See more info on this documentation page.
  • The puzzles assign material and get material now work with multi-material objects – the first material is always replaced or returned.
  • When updating for new Verge3D versions, the license key will be applied automatically if not expired.
  • Preloader progress is now much smoother thanks to shader compilation and asset processing stages made asynchronous. Particularly, the freezing at 100% is all but eliminated.
  • A series of optimizations was introduced to make the .gltf and .bin files more compact.
  • Blender-only Features:
  • The default cube scene has been updated for Blender 2.80 with EEVEE enabled by default.
  • Optimize Mesh Attributes option is now available to remove unused information such as tangents, which makes the exported scene more compact in most cases. This option is enabled by default.
  • Be sure to disable this option if you are assigning a normal-mapped material to a mesh which originally has no normal-mapped material on it.
  • Max-only Features:
  • All apps were renamed to not include “Max” in the end.
  • Bug fixes:
  • We fixed some bugs with morphing discovered by our users.
  • We fixed the bug with lighting not applied from light sources when screenspace reflection/refraction is enabled.
  • We fixed the issue with set/get rotation puzzles which sometimes produced incorrect angles.

New in Verge3D 2.14 / 2.15 Preview 2 (Sep 23, 2019)

  • Puzzles:
  • As per user feedback, we made the middle mouse button pan the editor workspace even when it is pressed over a puzzle (consistently with Blender’s Shader editor, for example).
  • We documented all puzzles the help links of which were previously missed or referred to Wikipedia, and added some examples relevant to Verge3D. This includes Logic, Loops, Text, Numbers, and Lists.
  • We also fixed outdated or missed links and screenshots throughout the reference. Some puzzles’ names, toolbox order and look were tweaked too. Particularly, the former “constrain value” puzzle is now called clamp, “to fixed point” is now called round with precision.
  • The load sound puzzle now accepts the URL parameter as variable (it also received a hopefully nice icon). Other sound puzzles’ names were shortened.
  • The Library of Puzzles was updated to reflect the recent updates.
  • We fixed the internals of the picked object and hovered object so that these puzzle can now be inserted directly in the logic comparison puzzle.
  • Finally, we added a png/jpeg switch to the take screenshot puzzle.
  • Other Features and Bug Fixes:
  • Morphing in now supported for multi-material objects.
  • We removed faulty blurriness when rendering materials with zero roughness (noticeable for highly reflective materials like chrome, gold etc).
  • We fixed the rendering error of transparent objects when screen-space refraction is enabled.
  • Finally, we fixed memory leaks when post-processing effects are disabling (for example, with the remove postprocessing puzzle).
  • Blender-Specific Features:
  • Blender 2.8’s Color Management > View Transform > Filmic setting, which is default, is now supported. This fixes the major difference with Verge3D rendering for projects created using factory Blender settings.
  • We supported all available projection modes for the Image Texture node, including Box, Sphere and Tube. This allows you to assign textures to meshes without UV-unwrapping them first, which will be especially useful for parametric objects or for geometry created with modifiers. The Box projection mode additionally offers Blend factor for reducing seams.
  • Finally, we fixed the issue with modifiers not working for hidden objects even if the Bake Modifiers option is enabled.

New in Verge3D 2.14 (Aug 29, 2019)

  • The 3ds Max counterpart of version 2.14 is available! It brings AR, morph targets, a new demo showing how parametric models can be implemented in real-time, puzzles for loading fonts, for generating textures from text and for converting images to normal maps on the fly. This update also includes several newly supported settings such as Physical Camera Exposure Control, vignetting effect and others.
  • Augmented Reality in the Browser:
  • You can make your web apps AR-capable thanks to tireless WebXR working group now stabilizing the specification. The AR feature which can be enabled in the recently released Chrome 76 for Android.
  • In addition to the demo described in that blog post, we implemented an AR mode switch in our Industrial robot demo in addition to VR. Due to the natural size of the robot, AR works best in big rooms with visible floor corners.
  • Morphing and Parametric Models:
  • Morpher modifier is now supported in Verge3D! Together with the newly added puzzles get morph factor and set morph factor, you can now visualize parametric objects with ease. The possibilities are endless: dimensions, shape, thickness, holes, profiles etc – everything can now be modified and even animated at run time.
  • Texture From Text:
  • Thanks to this awesome puzzle, you can now create textures from text on the fly and use them in your 3D scene. Imagine personalized products, gifts, 3D/VR interfaces and other endless opportunities offered by this feature!
  • A custom font can be easily added to an application for use with that puzzle (or with HTML puzzles) by loading it from file (or URL) on the init stage.
  • Normal Map Generator:
  • The puzzle generate normal map is available – you can use it with loaded images or with the output of the above-mentioned texture from text puzzle.
  • 3ds Max Settings:
  • Camera clipping planes are now calculated automatically if Miscellaneous – Clipping Planes – Enable checker is off (which is default).
  • Physical Camera Exposure Control option activated from the Environment and Effects > Exposure Control dropdown is now supported. This mode is enabled automatically upon adding a Physical camera (or upon adding a Photometric light in ART mode).
  • Physical Camera Exposure Control allows you to use Physical camera’s various settings, such as aperture’s f-number, ISO, EV, shutter speed and others.
  • Also the vignetting effect can now be used – see how it works in the above-mentioned Parametric Models demo.
  • As a reminder, before this update you could only use the Logarithmic Exposure Control option which is the default mode in the Scanline renderer.
  • The Alpha Mode, Two-Sided, Dithering params are now supported for Blend and Shellac materials (as per user feedback).
  • Puzzles Improvements:
  • The puzzles replace texture and get texture param can now accept texture input in the form of a text field or a variable instead of taking it from the selector.
  • The puzzles set color and set value were transformed the same way.
  • VR Updates:
  • To reflect recent changes in the WebXR specification, we renamed the init VR mode puzzle to check VR mode, as it is now not necessary to initialize the VR mode before trying to enter it.
  • Also the enter VR mode puzzle received new options: room (for bounded environments such as rooms or exhibition booths), looking around (previously called looking from origin), and viewer locked (all objects are parented to VR headset space).
  • Other Things:
  • A puzzle for setting the direction of objects is available (in addition to the previously implemented getter counterpart). You can use it for orienting objects towards view direction
  • The HTML element representing the default rotating preloader received an id – v3d_preloader_container – so you can now customize the preloader with CSS.
  • The window, document and body HTML puzzles were joined into a single puzzle for the sake of compactness. The old puzzles are now deprecated but will continue work.
  • Also we allowed the SSR and simple refraction puzzles to accept lists of materials, not just single materials.
  • JavaScript:
  • App.disableRendering() method now works without explicitly specifying the after param (defaults to 0).
  • The v3d namespace now includes the array of all App class instances created in your application(s). This allows you to run various App methods right from the browser console. For example, you can check your application performance this way:
  • v3d.apps[0].printPerformanceInfo()
  • Bug Fixes:
  • Fixed rendering blackout occurred if the canvas is hidden and then revealed (e.g. with CSS property display: none), or if the canvas is re-scaled to and back from zero dimensions.