Verge3D Network

Today we are excited to introduce our new cloud-based service for publishing and sharing your web applications. The rationale for Verge3D Network was worked out from observing how much effort, time and money is required to take care of all aspects of the deployment stage. With our now-traditional single-click approach you can save yourselves from handling hosting, domains, SSL certificates, network administration and web development entirely!

Main features

The App Manager now has buttons to instantly publish and share your apps on the web.

After uploading, an application becomes available to the world.

You can share your app by providing a direct link, by posting in social media (Twitter, Facebook, Reddit, Google+, LinkedIn, VK and Weibo buttons provided right away), or by using an HTML code piece for embedding in a blog or a website page.

Under the hood

Verge3D Network is powered by Amazon S3 and EC2 clouds. As such, the data is replicated multiple times at different geographical locations to allow for quick and reliable global access via a distributed content delivery network (CDN). Security is ensured by using encryption for all connections. For maximum privacy, no files are uploaded without an explicit action from your side.

Isn’t it vendor lock-in?

Unlike with some other WebGL tools, the Verge3D production pipeline remains fully autonomous and independent. You are free to decide whether to use your own infrastructure for deployment, leverage the Verge3D Network, or run your applications offline.

It is free!

We offer the Network to all Verge3D users completely free of charge! This includes a free 10Gb storage space and 10Gb of free monthly traffic. Moreover, you can use this service even with the trial version of Verge3D. The only restriction is that your files will only be stored for 30 days. By acquiring any of the Verge3D licenses you can enjoy the Network with no such limits. If you need more storage space or traffic, or have some other special requests, just let us know – we’ll be glad to accommodate your needs.

Verge3D Puzzles

Appetite comes with eating, so today we’re releasing a big chunk of goodies for your satisfaction, including 8 new puzzles. There are so many of them now that we had to sort Verge3D-specifics puzzles into 3 categories (‘Objects’, ‘Animation’ and ‘Misc’).

First of all, you now have means to position your objects in 3D space as well as to rotate and scale them. Specifically to make setting up the rotation angles convenient, the ‘angle’ selector puzzle has been provided. To transform your objects without any numbers at all, you can use the third puzzle called ‘snap to object’. It basically copies the transform parameters of a target object, so you can use an invisible object to specify a desired location right in your favorite 3D editor.

To make life easier for puzzlers (actually, for coders too), we have supported groups to which objects can be assigned with standard means available in the 3D editor. In Blender you can use ‘Add to Group’ button located under ‘Object’ tab, or the Ctrl-G shortcut. So instead of adding multiple objects in list variables, you can simply use a single group selector for that, which saves A LOT of time and workspace. Moreover, an object can participate in several interleaving groups at the same time for even greater flexibility!

As you may have already noticed, animation clips are assigned on per object basis. For this reason, Puzzles offers the animation selector in which you can select animated objects and not animation names. This, however, resulted in redundant duplication when both an object and its animation were used in the same Puzzle program. To address this issue, we have implemented one more puzzle called ‘get animation(s) of’ which can also make your logic much more compact in certain cases. Another minor change is that the names of animation clips are now consistent with corresponding objects’ names. The updated ‘E-learning’ example demonstrates the practical use of the above-mentioned features (as well as of outlining implemented previously).

Speaking of massive puzzle sets, we have improved navigation by adjusting the scrolling behavior a bit. Now, the focus will be centered only for small programs if they fit the workspace entirely, while longer/wider puzzle sets will be auto-scrolled to their left-top.

Thanks to the feedback from our valuable community, we now have the ‘open web page’ puzzle, which you can use to navigate your app users to another website location (loaded either in a new or in the same browser tab). This opens the way to creating engaging combos of 3D and plane 2D web-based content, making animated 3D web anchors… you name it.

Another highly anticipated puzzle, ‘replace scene’, can be used for loading a menu screen or a preloader/placeholder scene, so that your users can start working with your app, or at least see something meaningful, before the main scene becomes available. You can also use it for navigating around multiple scenes.

In addition to being added, annotations can now be removed with the ‘remove annotation’ puzzle. Also, when added to an object which already has an annotation, the old annotation will be replaced. Annotations are now given names and are listed in object selectors which allows certain operations to be applied to them as well.

Finally, we made some cosmetic yet noticeable changes in Puzzles. Particularly, the object selectors now sort out objects automatically generated from multi-material objects; the generated JavaScript code is now placed inside a closure to prevent polluting the global namespace; and the control buttons have been supplied with messaging and sounds.

Various Features

Now, all camera fit modes available in Blender are supported, including ‘Vertical’, ‘Horizontal’ and ‘Auto’. This allows for predictable positioning of scene objects (especially, interface elements parented to the camera) at different screen resolutions.

The obsolete ‘Export selected only’ option was removed from exporter options. We suggest using the ‘Export layers’ settings implemented previously instead, since it is a much more convenient way to do the same thing. With this release, ‘Export layers’ was moved to the scene tab to reflect the fact that these settings now work on per-scene basis.

The default player application received a fullscreen button, which come in handy when your app is embedded within an iframe. Also a meta-description was added to the player’s HTML file to make it more SEO-friendly. You might want to re-initialize your player-based applications to take advantage of these new features.

The App Manager now detects the version of Verge3D engine’s JavaScript files in your app directories (namely, v3d.js files) and suggests updating them if they turn out to be outdated.

Flying camera controls were reversed to match shooter-like controls. It is still possible to use the old-style controls by negating the camera speed via API. Both Orbit and Flying camera controls are now much smoother, which is especially noticeable in the Firefox browser and on low-end hardware.

Specular alpha parameter is now supported for both generic and node-based materials. RGB Curves and Vector Curves shader nodes have also been supported.

The App and AppUtils modules have been documented in the API Reference.

Bug Fixes and Optimizations

The following unemotional list sums up our efforts in improving the engine’s performance and reliability:

Optimized resolution for mobile devices;

Orthographic camera’s scale parameter now works correctly;

Export of complex hierarchies was improved which allows for more robust export;

Optimized graphics for the ring configurator example;

Optimized code for generating unique IDs used internally by all Verge3D entities which greatly speeds up loading of scenes;

Optimized node material animation;

Fixed multiple issues related to texture export;

Fixed links to Three.js source code in the API Reference;

Fixed issues with incorrectly rendered speculars for transparent materials;

Textures with missing images, including texture shader nodes, are now correctly exported.

EULA

The Verge3D License Agreement has been updated to describe the terms of each licensing option in more detail. It was also supplemented with the section on Verge3D Network (service level terms).

In Closing

It appeared to be a quite long release article this time. We hope that you’ll find some of the above-listed features useful for your projects. You can get your hands on the new version of Verge3D here. Feel free to leave your feedback in the comments below or on the forums!