Vortex Studio 2020b Release Notes

These are the release notes for the 2020b release of Vortex Studio.

This document walks you through the novelties and changes in this release and provides a detailed description of system requirements, compatible hardware and more.


What's new

This version of Vortex Studio comes packed with exciting upgrades and improvements. Python 3 support, several powerful improvements to the Physics Engine, an Asset Browser for easy organization of your content and many usability improvements, just to name a few. This section provides short descriptions of all the novelties grouped by both product variants, Create and Activate. For more information on the listed features, please consult the documentation.

Vortex Studio Create

This section lists all the new features we added to the Create toolchain, which gives you all the tools required to build and optimize content for real-time simulations of mechanical equipment directly on your PC or laptop.

Upgraded Asset Browser

You can now find your content faster in this new and improved version of the Asset Browser which provides a list of current projects and recent activity on the editor home page.

Support for Python 3 added

This version of Vortex Studio adds support for Python 3 as python script embedded directly inside your content (Scenes, Mechanisms and Scenes) as well as through a powerful application-level API.

When properly configured, Vortex Studio can also use any python3 interpreter installed in the system and therefore import additional modules, e.g. numpy.

See Python 3 Scripting and Vortex Studio SDK - Python 3 Scripting for more information.

Python 3 in Demo Scenes and Samples

The Demo Scenes and Samples that come with Vortex Studio have been migrated to use Python 3 scripts instead of the now legacy Python 2 scripts. You can now examine this content, such as the following FED Alpha vehicle, and see the new Python 3 API in action.

New Python 3 scripts allow field re-ordering

The new Python 3 script extension allows field re-ordering after it has already been created via the script's edit menu. This usability improvement was also applied to similar pages such as UDP Send/Receive, and Metrics.

Streamlined Assemblies with integrated Part workflow

Part documents have been removed and are now embedded in Assemblies for an integrated, and much more efficient workflow. Assemblies have been augmented with Scripts, Graphics, and all dynamics extensions available in Vortex Studio in order to become the main reusable object for mechanical modeling. Assemblies can contain sub-assemblies in order to define reusable mechanical elements like suspensions. Mechanical engineers can thus model complex assemblies while staying in the same editor tab for significantly faster development speeds.

Rigid Tracks for Modular Vehicles

In our continued effort to allow reuse of machine components, we now added rigid tracks to our library of modular vehicle components. These components are available in the Vortex Studio Samples pack. Below are a few impressions showing this new system. Here you can see the new tracked vehicle sample which was created with this new feature set.

Track components, represented as Assemblies, can be fully customized. All parts and constraints used to model the track's mechanical structure are readily available and can be modified as desired. As many track elements and sprockets as desired can be chained in the track component and custom track shapes can be defined as demonstrated below. For more information, please refer to Modular Vehicle Systems.

Straight tracks

Curved tracks

Improve 3D Manipulation Toolbar

The manipulation toolbar was modified to fit in more seamlessly with the rest of the UI instead of being displayed as an overlay in the 3D view.

The Grid Settings were integrated with this new toolbar and is now always visible for direct an easy access.

Likewise, in the graphics gallery document, the daylight control was equally integrated with the toolbar.

Tech Preview of Intel and AMD graphics cards support in Vortex Studio Editor

2020b is the first version of the Vortex Editor to support AMD and Intel graphics cards, providing a usable tech preview for the authoring content on a much wider range of Windows-based computers than before.

To this end, a new DirectX renderer has been integrated in the Vortex Editor, which will allow use of the editor on most PCs and laptops.

The renderer (new DirectX, or previous OpenGL) is automatically selected depending on the type of graphics card that is detected in the system.

It can also be manually chosen via a new entry in the options page of the editor as shown below.

See also DirectX Support in Vortex Editor - Tech Preview.

Tech Preview of Vortex integration in Unity

You can simulate Vortex mechanisms just like any other assets in a Unity scene with the Vortex Studio Package for Unity; the Unity Editor lets you connect to parameters that you expose in Vortex Studio.

Any Vortex Studio simulation parameter can be sent to a function in a Unity script (get/set), and included in your Unity scene.

Vortex Studio automatically detects terrain GameObjects that you create in Unity around a Vortex vehicle. A corresponding height field is created and streamed in Vortex Studio at run time. To monitor contacts and collisions during simulation, you can show the height field at the same time, using the Vortex Studio Remote Debugger application.

During simulation, Vortex Studio sends information about the position and orientation of each body to the Unity Engine. Parameters and outputs can be accessed via the mechanism's interface. To ensure smooth game play with accurate synchronization and realistic movements, Vortex Studio sends information about the position and orientation of each body to the Unity Engine. Parameters and outputs that you expose using a VHL interface let you control the Mechanism in Unity.

see Unity Integration for more details.

An integration package of Vortex with Unity 2019.3 can be requested through the support channel.

Please contact support@cm-labs.com for more information.

Parallel Solver and Physics Engine Improvements

Major simulation stability improvement in Parallel Solver for guaranteed simulation speed-ups

The Parallel Solver has undergone a major stability improvement which enables its use in even the most complex of simulations without and with stable constraint force outputs. Previously, errors in the calculated constraint forces would lead to occasional twitches in motion or even blow ups of the simulation. This issue is now resolved. In stress tests, we measured performance speed ups of up to 16x when using the Parallel Solver without noticeable differences in simulation behaviour (measurements done with an Intel i7-4710HQ CPU @ 2.50GHz with 4 physical cores). In order to make use of the Parallel Solver technology, activate it via the Automatic Solver Groups extension. Consult the documentation for more information.

As you can see, in the new and improved version at the bottom, a solution is now always found and no more convergence issues occur.

Previous version

New and improved version

Plots indicating solver error and frames in which there was no convergence (no solution found) over time in a test
scenario when using the previous version (top) and the new and improved version (bottom) of the Parallel Solver.

Here are timing results, which show that for extreme bottleneck cases (top row), we get an up to 16x speed up in the test scenario and on our test hardware (see above). And even in less extreme cases (bottom row), e.g., solver time about 8 ms, we can still get a significant 4x speed up with this new technology, dropping the solver time to only about 2 ms without loosing any accuracy in the results.

Extreme case without Parallel SolverExtreme case with Parallel Solver

Solve dynamics time: ~378 msSolve dynamics time: ~24 ms  → 16x Speed-up
Light case without Parallel SolverLight case with Parallel Solver

Solve dynamics time: ~7.7msSolve dynamics time: ~1.8ms → 4x Speed up

Strong and Weak Coupling out-of-the-box, with the Solver Group extension

In the ongoing effort to provide more out-of-the-box solutions to our users, we have added the ability to model "weak" and "strong" coupling with the Solver Group extensions directly from inside your content.

A "Coupling Strength" input was added to Solver Groups which enables this ability. Also, the Partition Display was updated to show whether the force between two connected parts is uni-directional (weak/strong) or bi-directional.

Here, is a simple example which demonstrates this feature with one set of boxes being stronger than the other, and only the stronger boxes being able to push the weaker ones and not the other way around.

For more information on this feature consult the documentation, which among others explains how to use this feature for simulating "low cost" hydraulics hoses in an excavator in a few simple steps.

Run-time control of Solver Groups

Users can now enable/disable splitting of simulations into distinct sub-simulations at run-time. For this, a new "Active" input was added to the Solver Group extension as shown below. This allows for very dynamic modifications of level of detail in your physics simulation, for example, by using this feature in conjunction with the ability to specify a "Coupling Strength" for specifics portions of the simulation. This makes it possible to adapt to the performance requirements throughout entire simulation scenarios, and to combat bottlenecks before they happen.

As an example, in the animation below, the Excavator's tracks and turret are initially in the same partition (blue). Then, when the "Active" input is unchecked, the tracks and the turret get split into two partitions, indicated by the differently colored spheres of the Partition Display following the change.

Improved modeling of Constraint Limits

We revamped the way limits are modeled in constraints. Limits now correctly respect the limit's physics properties, such as the limit stiffness. Previously, this was not the case, and limits would act unrealistically stiff. Now, mechanical engineers can rely on the limit parameters to be respected and the limits behaving as intended.

New ray cast sensor tutorial for C++

We added a new tutorial showcasing the creation of a ray casting extension via C++ (see <toolkit root>/tutorials/ExRayCastSensorExtension), which can be the used to model a sonar, and added to your content. Below is a short animation that shows how this extension works.

The extension comes with an accessory that depicts the scanning direction as well as the sensor range. During simulation, the accessory shows the ray casts and their individual hits. In the animation you can see that the rays don't traverse the grid plane as they hit it, as is expected.

Support for the gcc7 compiler

Vortex Studio is now available for gcc7 on Linux.

Vortex Studio Activate

In this release, we made the following improvements in the Activate toolchain, which provides you with all the tools you need to realize anything from a single seat hardware- and driver-in-the-loop simulator to large-scale deployment of simulations on multiple simulator platforms.

New content localization tools

New localization tools have been added to Vortex Editor and allow translating content created with Vortex to a new language that will be displayed by the simulator user interfaces and widgets.

Please refer to Translating Content with Vortex Editor and Translating a Simulator into a New Language for more information.

Vortex Director becomes a versatile Launcher

The Vortex Director can now start any Vortex Studio application on any simulator node; be it a standard Vortex application, a custom windows executable, or a Python interpreter.

When using a custom Windows-based Vortex Application, the Director now also helps you activate your Vortex Studio Embed Add-on license.

Student database now documented

The student database schema has been made public and is documented. For more information please refer to Vortex Student Database Schema.


Additional Improvements in 2020b HF1

Unity Integration Documentation

Reinforcement Learning Environment Tutorial

System Requirements

Supported Platforms

Vortex Studio 2020b runs on the following platforms:

  • Microsoft Windows 10 (x64), version 2004
  • Linux CentOS 7

Not all features are available on the Linux operating system. See Features and Capabilities Overview for more details.
Hardware Requirements
Minimum ConfigurationRecommended Configuration
  • CPU Intel i7-4700 or equivalent
  • RAM 16GB
  • GPU NVIDIA compatible graphics card
  • CPU Intel i7-7700 or better
  • RAM 32GB
  • GPU NVIDIA GeForce GTX 1070 or better

Any computer running Vortex Studio Create or Activate must support AVX2 instructions set

Supported Graphics Cards

Vortex Studio 2020b has been extensively tested with NVIDIA GeForce RTX 3060 TI, RTX 2070 and GTX 1070 cards for high performance rendering with 461.40 WHQL driver.

Other GTX and RTX graphic cards listed in the NVIDIA release notes of the 461.40 driver should work with Vortex Studio, however some performance or rendering degradation might occur.

Vortex Studio Create 2020b has also been tested with NVIDIA Quadro P5000 graphics cards.

Vortex Studio 2020b supports AMD and Intel graphics cards as a tech preview with limited feature set.

On computers equipped with multiple graphics cards (e.g., laptops with both integrated Intel card and dedicated NVIDIA graphics card), the default configuration of these systems is to auto-select the card to run the application, which might prevent Vortex Studio from running with the NVIDIA card. In the NVIDIA Control Panel, select Manage 3D Settings and change the Preferred graphics processor to High-performance NVIDIA processor and restart the Vortex application.

Some monitors have factory refresh rates set to high frequencies, i.e. 144Hz. Vortex applications will process the graphical information at 60 Hz by default, which might lead to visual artifacts. Please set the monitor refresh rate so it matches the Vortex simulation rate.

Windows Remote Desktop is not supported by Vortex Studio running in OpenGL mode, we recommend using another remoting application that uses the remote graphics card for rendering, e.g. VNC.

Supported VR Hardware

Vortex Studio 2020b supports the following VR hardware via the OpenVR protocol:

  • HTC Vive
  • HTC Vive Pro
  • Vive tracker

A Steam account is needed to configure and use the VR hardware in a Windows 10 environment. Your graphics card must also meet minimal requirements for VR performances.

Mongo DB

Mongo DB is the database engine used in Vortex Activate.

The version supported is Mongo DB 4.2.

Mongo DB 2.6.4 is supported for legacy systems. It is strongly advised to upgrade to 4.2
Python

Python 3.8 is supported. Vortex Studio contains an embedded version of python.

The corresponding Python or Anaconda distribution can also be used to include more modules in the scripts.

Python 2.7.13 is supported for legacy systems. It is strongly advised to upgrade to 3.8.
Unreal Engine Integration

Vortex Studio 2020b supports Unreal Engine version 4.25 when using VortexIntegration library.

Unity Integration

Vortex Studio 2020b supports Unity 2019.3.14f1 when using VortexIntegration library.

Unity Integration with Vortex Studio is supported as tech preview and the package is made available on demand. Please contact support@cm-labs.com for more information.
Supported Compiler

Vortex Studio 2020b supports Microsoft Visual Studio 2015 (VC14) compiler and above.

GCC 7.3 is the supported compiler on linux.

Simulink/MATLAB

Simulink/MATLAB 2015 and above, with real-time UDP protocol, are supported.

Licensing

Vortex uses RLM by Reprise Software™ for licensing.

Altair Partner Alliance (APA) Licensing

Altair license server supported version is 14.5.1.

Vortex Studio Activate is not included in the Altair APA licensing support.

Supported 3D model File Types

The following 3D model file types can be imported into Vortex Studio Editor.

  • .cive, .dae, .fbx, .flt, .ive, .obj
  • .osg2, .osga, .osgb, .osgs, .osgt, .osgx, .shp

The following CAD file types can be imported into Vortex Studio with the purchase of the CAD Importer add-on. 

The CAD Importer add-on is a paid add-on. Contact your CM Labs representative for more information.

  • .step, .3dxml, .stl, .catproduct, .stp, .catpart, .vrml, .cgr, .wrl, .jt, .sldasm, .sldprt, .x_t, .x_b

Parasolid CAD format support has been added to the CAD imported Add-on in Vortex Studio Editor 2020b.

Compatibility Notice

We recommend that you back up your assets before migrating to the latest version. If saved, it will not be possible to open them again in their original version. Assets include any files created with the Vortex Editor, Vortex Director or programmatically with the Vortex SDK, including: code, extensions, parts, assemblies, mechanisms, galleries, scenes, setup files, simulator files and any other proprietary Vortex file.

 
From any version of Vortex Studio from 2018 up to current version
Files from these versions can be used in the newest release. We recommend that you use the "Save All Child Documents" feature to ensure that all components are properly saved.


Between any Vortex version
Record-and-Playback as well as Key frame files created with previous versions may not work with Vortex Studio 2020a.


From any version of Vortex Studio Academic

Note that content saved in Vortex Studio Academic cannot be opened with commercial Vortex Studio licenses such as Create or Activate.

Academic can open and run content created with other licenses.

End-of-life Notice

  • Mongo DB 2.6.4 is supported for legacy systems. It is strongly advised to upgrade to 4.2
  • Python 2.7.13 is supported for legacy systems. It is strongly advised to upgrade to 3.8.
  • GCC 4.8.5 is deprecated on linux. GCC 7.3 must be used instead.

Fixed Issues in Vortex Studio 2020b

Various improvements have been made and bugs and workflow issues have been fixed during the development of Vortex Studio 2020b:

IDSummary
VP-37298Vortex Editor - Attachments in already-loaded scenes or mechanisms don't update when their attachment points are changed at lower levels.
VP-37828If the Fluid Surface extension is used to simulate the effect of drag in the environment, after restarting any scenario on the Console, the drag values get stacked, and the motion of the crane attachments get damped quickly
VP-38115Stopping and quitting a running simulation from the operator window will CRASH the application if a Secondary window is left opened in the instructor session.
VP-38270Vortex Content - The Excavator HUD is not fully visible in most circumstances.
VP-38350Vortex Editor - Constraints limits seem to completely deactivate the motorized or locked desired speed/position when reached, whatever the stiffness/max force set.
VP-38391Vortex Editor - Text puts characters are out of alignment when aligned to a "baseline" option in the HUD.
VP-38466Vortex Editor - Invalid reference error of a control interface is not visible in the explorer window.
VP-38625Vortex Editor - UDP Send and Receive properties panel is not updated after a field is added.
VP-38649Vortex Editor - Runtime changes to a deformable terrain's dimensions affect the terrain and the graphics hole differently.
VP-38748

Vortex Editor - When generating a triangular mesh for a part, a mesh is generated for the entire graphics node instead of only including the graphics that are in the part. 

VP-38762

Vortex Editor - Deleting the Reference assembly while creating a new assembly shows a warning on the Mechanism.

VP-38781When creating a node containing a touchscreen display and a 3D display, the Effective Placement of the touchscreen might become corrupted.
VP-38782Vortex Tutorials - PyContentCreation tutorial refers the user to the wrong path for rovercontroller.py

VP-39187

Vortex Editor - Contact simplification extension does not update parameters when restarting simulation
VP-39273Vortex Editor - Cables explode on first play or the play after the scene was saved.
VP-39602

Vortex Editor - A script field of type vector4, and an angular dimension converts its contents to Radians.

VP-39633

The physical dimension for percentage has the % symbol twice.

VP-39719Vortex Editor - Dynamics Generic Cables expand some of the containers in their property views when selected, the containers will reset to their closed state when selecting another extension under Generic cable and returning to Dynamics Generic Cable.
VP-39787

Vortex Editor - Control Preset UI crashes when creating fields with matching name.

VP-39803

Vortex Console - Environment tab (weather page) does not properly reset after restart.

VP-39941

Vortex Editor - Cannot drag a Vortex file when in Connection Container Node Graph View or Toolbox.

VP-40002

Vortex Editor - Using OpenGL renderer option on the nVidia Optimus PC does not show proper display
VP-40074

Vortex Editor - Crash when I save a scene containing a rear view camera user interface.

VP-40102

Vortex Editor - An invalid Point Emitter sound audio file path location does not return a warning.

VP-40134

Vortex Editor - Memory leak when resizing Editor window

VP-40141

Vortex Editor - Close all button on the homepage doesn't return to its default state once selected

VP-40184

Vortex Editor - Laptops with "NVIDIA GeForce RTX 2070 Super with Max-Q Design" show warning on start
VP-40236

Vortex Editor - The Sky Dome always assumes daylight saving time is in effect.

VP-40240

License manager crashes when Altair dll is found in the system path

VP-40266

Weather Page - Primary month selection does not follow the normal month order
VP-40293UDP Extensions do not allow use of ports under 1024

VP-40297

Vortex Editor - The 3D Tools pane can be interacted with during runtime

VP-40307

Vortex Editor - Crash when start the simulation with Excavator demo

VP-40348

Vortex Editor - Changes to the inertia or COM are not committed while the part is set to static or animated

VP-40384

Constraint limits are not respected

Fixed Issues in Vortex Studio 2020b HF1

IDSummary

VP-40202

After stopping the simulation, the Wheel Adaptor accessories are visible at the old position
VP-40480ExContentCreation sdk tutorial refers to the wrong path for the material table and controller.py
VP-40487Demo Excavator scene shows a gamepad duplicated
VP-40506Clicking "Samples" or Demo Scenes" leads to a download page even though the content is already installed

VP-40511

Vortex Editor - Warn user that the script needs modifications when converting a Python2 script to Python 3
VP-40536Vortex Editor - Crash when closing a context menu after rotating the camera on another tab
VP-40566Vortex Editor - In DirectX mode, panel movement/removal/addition messes up the display
VP-40569Vortex Editor - In DirectX mode, adding and deleting the 3D display extension causes a crash
VP-40600SimApp freezes when clicking on the instructor button
VP-40614Vortex Editor - Interface links connected to a disabled script show as warning
VP-40694on_simulation_stop doesn't trigger when a simulation ends without manually stopping
VP-40712Reassigning device to keyboard in Control Preset produce no action
VP-40717Vortex 2020b Documentation : Some images don't load on the release version of the documentation

Fixed Issues in Vortex Studio 2020b HF2

IDSummary

VP-40499

Marine ocean graphics and physics are not synched

VP-40740

Dynamics performance differences in results between 2019c and 2020a

VP-40883

Python 3 extension - on_keyframe_restore(extension, data) not called on editor stop

VP-41149

Kinematic Sensor is not added to available extensions

Known Issues in Vortex Studio 2020b

ID

Summary

Workaround
VP-39136

Vortex Editor shows black screen when running on a laptop with NVIDIA GPU with Optimus technology.

Manually choose the OpenGL renderer in the Vortex Editor options. Alternatively, set an external monitor as primary.

Deprecations in Vortex Studio 2020b

see End-of-life Notice