We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.

Blogs

Verge3D 3.9 for Maya and Ultimate

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).

converting Verge3D web app to SCORM

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.

verge3d puzzle afterimage

With a single puzzle, you can easily apply it to your scene—for example, to add the feeling of high speed.

afterimage effect applied to a 3D game

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!

accessing Verge3D Network directory in the App Manager

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.

viewing and downloading files from Verge3D Network directory with the App Manager

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!

results of uploading to Verge3D Network with shortened URLs

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.

industrial robot VR experience

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).

ambient occlusion works better with  Blender BSDF materials

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 objectsanimations, or materials. This is also the recommended way to get a group by its name, without hacks.

usage of Verge3D puzzle get by name

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.

usage of Verge3D puzzle unbind elem

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.

usage of Verge3D puzzle set camera param

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.

usage of Verge3D puzzle remove post-effects

The puzzle set light param now has 3 options to tweak the shadows: use shadowshadow map size, and shadow map filtering. You can play with these options to trade the quality for performance or vice versa.

usage of Verge3D puzzle set light param

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.

usage of Verge3D puzzle library entry performance tweaks

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.

usage of Verge3D puzzle set keyboard controls

You can now add the linear fog to your scene with the fog puzzle. Before this update one could only use the exponential fog.

usage of Verge3D puzzle set linear 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.

usage of Verge3D puzzle get event property with HTML check boxes

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.

usage of Verge3D puzzle event with beforeunload option

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.

usage of Verge3D puzzle replace texture to use video alpha

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.

maya: 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.

Influence Distance  setting reflection planes in Maya

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.

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.

Update Now

As usual, you can grab the new release from the downloads page. The users of Verge3D Ultimate can download this update from their dashboard. We’ll be glad to hear your opinions and further suggestions on the community forums.

By Yuri Kovelenov

Chief 3D Verger

Leave a Reply

Related Posts