We are excited to present a new release of Verge3D for Blender! Version 3.9 brings an easy way to create e-learning courses, Blender 3.0 support, transparent video textures, new texture-from-text puzzle, performance tweaks for adaptive rendering, Brick Texture node, further AO improvements, 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.
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.
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.
Brick Texture and Blender 3.0
The Brick Texture node is now supported by Verge3D. You can use it to generate various interesting patterns without the need to load any textures.
Also this Verge3D version is fully compatible with Blender 3.0 that came out a few days ago—congrats to Blender community by the way! We also fixed a bug with emission not working in Blender 2.91-2.93.
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
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.
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.
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 BSDF 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.
Then, we have supported the Bent Normals option which Blender enables by default. 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. This also means improved consistency with Blender viewport.
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.
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!
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.
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 fixed the export bug related to triangulation of small polygons. Thanks for reporting this.
- We removed deprecation warnings printed by Verge3D WordPress plugin when this CMS is set to debug mode.
- 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.