We are excited to announce a new milestone in the development of Verge3D! For this major version we rebuilt UI/UX for our tools – the App Manager and Puzzles, as well as application templates. The App Manager obtained new functions, such as uploading of application archives, moving apps to system Trash, picking up the user-defined folder with apps, and many other things. The Puzzles editor layout has been radically changed to allow for more work space. The long-awaited dark theme has been introduced for Verge3D as well. Finally, Oculus Quest and similar devices are now supported, including their powerful controllers. The 3.0 version is compatible with the newest Blender 2.82, bringing its features to the web.
App Manager Overhaul
The list of applications obtained a new look, so did the file icons. Relatively rarely used things (project creation, templates, settings, network management, licensing, help links, and version info) were moved under the toolbar located on the left.
On the application page, the operator buttons are implemented as a toolbar on the right. This includes the buttons for launching the Puzzles, opening app folder, uploading app to Network, uploading zip archive to Network, deleting and updating projects.
To further speed up the workflow, most operations will produce dialog windows instead of redirecting to new pages. Esc key can be used to close all dialog windows quickly.
In addition, when a new app is created, the App Manager displays a link to its page, saving you from searching in the list of applications. Navigating to the app page is also suggested if you try to create an app which already exists.
Applications with many files are now expandable using the black triangle on the left of application name. An application’s main html and scene files use special icons.
Also, the buttons for opening folder and deleting application were added to each line. The delete button moves an application to the system Trash folder rather than destroys it permanently, making it a less risky operation.
There is now a search field for filtering applications in the list.
The screen that appears after uploading to Network is complete, was redesigned. We added the buttons for copying to clipboard among other things.
Verge3D Network’s file directory is now displayed in a much clearer tree-based view, which allows you to select sub-trees for removing from Verge3D Network.
Selected files can be deleted from the Network using a button on the right. Finally, the list of uploaded files was made filterable thanks to the search feature.
A new feature for uploading zipped projects is available. Using it, you can share entire projects via Verge3D Network with your colleagues, customers or Verge3D developers.
It is now possible to use a custom folder for applications. So you can put your applications in some other folder rather than verge3d/applications, and these apps will be appended to the list bottom. When opening such applications, they’ll get the /ext/ prefix in the browser address bar.
We also added a new setting, “Upload app sources”, to the App Manager (disabled by default). It controls whether the source files (.blend, .max, .ma/.mb, Puzzles’ visual_logic.xml and its backups) are uploaded to Verge3D Network.
If the App Manager’s settings are changed, there is no need to restart the local server anymore.
There is a switch between light and dark themes in the settings window.
The App Manager now works much faster with lots of projects thank to file-access optimizations.
Puzzles Editor
We also redesigned the Puzzles Editor, restyling the UI buttons, tabs, adding better looking dialogs and a preloader screen for the Puzzles, as well as dark mode. The layout of the Puzzles editor has been changed. The workspace is now always fullscreen, while the 3D rendering is contained in a floating viewport window.
This window can be moved, resized, hidden, paused, and checked for FPS. Such the change allows you to better focus on working with puzzles, and to quickly check how your app will look on different screen resolutions.
The viewport window will display checker pattern should you make the background transparent (e.g. with the configure application puzzle).
There is now a Library button (the most left) that reveals a new toolbar with library items. By the way, the Puzzles library is now accessible from the Init tab, and it is now possible to copy puzzles between the Init tab and other tabs (be sure to only use puzzle compatible with the Init tab).
Adding or removing entries to/from the library no longer requires refreshing the page afterwards.
The nearby button allows you to get more space by hiding the toolbox.
The next button, Render, hides and reveals the viewport window, and the forth button sets the focus on the center of occupied workspace.
The Run and Save buttons work as before (the shortcut Ctrl-Space can now be used to run the puzzles). The other two buttons in the center are Undo and Redo. The final Help button opens the relevant User Manual page.
The settings of the Puzzles editor are now saved within the visual_logic.xml file, rather than in the browser’s temporary storage. This makes it possible to restore the settings if Puzzles are opened with another browser or workstation.
Standard Application Templates
There are now two Standard templates (Light and Dark) from which new applications are created. This will allow you to better fit the target website’s theme.
We also changed the design of the preloader and the fullscreen button.
Important: you must select your app HTML/CSS/JS files when updating in order for these changes to take effect.
Blender Integration
Blender 2.82 is now officially supported. We dropped support for Blender 2.79, as most users seem to have migrated to the 2.8x series already. This allowed us to remove various hacks from addon code making it more maintainable. As a side bonus, we also got rid of numerous warnings spamming in the Blender console.
The Window output and the Object field of the Texture Coordinate node are now supported. See this forum topic for possible uses.
We fixed the issue reported on the forums which was related to material animation of multi-material objects.
Clear Coat Normal input of Principled BSDF node can now be used with Verge3D.
Some of Blender 2.82’s new functionality was supported. Particularly, the new options of the Math node can now be used: Compare, Hyperbolic Cosine, Hyperbolic Sine, Hyperbolic Tangent, To Degrees, Exponent, Inverse Square Root, Multiply Add, Pingpong, To Radians, Sign, Smooth Maximum, Smooth Minimum, Snap, Truncate, and Wrap.
We fixed crash of Blender 2.82’s Geometry and Map Range nodes. The yet-to-be-supported node Vector Displacement will no longer crash too. We also fixed a bug with animated nodes.
Finally, custom properties are now retrieved from the scene rather than from the world data block.
VR / AR
Basic support of Oculus Quest and similar VR headsets has been implemented: both controllers can now be used instead of just one.
Also you can handle squeezing/grabbing events coming from VR controllers thanks to options added to the session event puzzle.
VR controllers’ buttons/sticks are now being detected by using gamepad puzzles implemented earlier.
There is Cardboard VR option in the feature available puzzle. With it you can detect if an app is running on cardboard, making it possible to adjust the controls accordingly.
Cardboard devices’ button is now supported through native VR puzzles rather than via HTML touch events.
The AR-related puzzle detect horizontal surface has been made consistent with the newest WebXR API. By the way, WebXR will work without flags in upcoming Chrome 81.
Puzzles
A new select option, “container”, is now available in HTML DOM selector puzzle. This option gives you the access to the container element in which the WebGL canvas is wrapped. We recommend to use this element instead of body to add new HTML elements to.
The after parameter of the set timer puzzle has been renamed as interval for more clarity.
We fixed the bug with transparent background not working with the bloom puzzle.
Other Improvements
Developer Kit builds are now offered to Enterprise customers instead of just source code included in Verge3D distribution. This is a framework intended to simplify the process of modifying the engine. See the docs for more info on how to use it.
Messages that are output in System Console (Blender), Script Editor (Maya) or MAXScript Listener (3ds Max) are now easier to distinguish from other messages thanks to V3D prefix added, e.g.:
V3D-INFO: Starting glTF 2.0 export
V3D-INFO: Initialize Verge3D plugin
We fixed a rare issue in the WordPress plugin which prevented it from working with some WordPress themes.
Some features of Three.js r113 were backported to Verge3D. Among them:
- Improved image-based lighting
- Light probes (for now JavaScript only)
- Better VR support (controllers etc)
- Improved performance
and others.
Our own backend for glTF-compliant materials is now used instead of Three.js-based one. The main difference is that it follows the standard more accurately. Particularly, multiple UVs and ambient occlusion can now be properly handled without hacks.
We slightly optimized the size of the engine runtime v3d.js thanks to removing space symbols from all shader code.
Documentation
Developer reference has been separated from the User Manual. Also the Beginner’s guides for Blender, Max and Maya are now separate pages.
Scroll position is preserved in the left navigation bar of documentation for more convenient navigation.
Grab it now
Get Verge3D 3.0 from the Downloads page and see how it works for you. Tell us what you think in the comments below or on the forums!