Vortex Studio 2020b Release Notes
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 Solver | Extreme case with Parallel Solver |
---|---|
Solve dynamics time: ~378 ms | Solve dynamics time: ~24 ms → 16x Speed-up |
Light case without Parallel Solver | Light case with Parallel Solver |
Solve dynamics time: ~7.7ms | Solve 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
Hardware Requirements
Minimum Configuration | Recommended Configuration |
---|---|
|
|
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.
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.
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.
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
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
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:
ID | Summary |
---|---|
VP-37298 | Vortex Editor - Attachments in already-loaded scenes or mechanisms don't update when their attachment points are changed at lower levels. |
VP-37828 | If 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-38115 | Stopping 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-38270 | Vortex Content - The Excavator HUD is not fully visible in most circumstances. |
VP-38350 | Vortex Editor - Constraints limits seem to completely deactivate the motorized or locked desired speed/position when reached, whatever the stiffness/max force set. |
VP-38391 | Vortex Editor - Text puts characters are out of alignment when aligned to a "baseline" option in the HUD. |
VP-38466 | Vortex Editor - Invalid reference error of a control interface is not visible in the explorer window. |
VP-38625 | Vortex Editor - UDP Send and Receive properties panel is not updated after a field is added. |
VP-38649 | Vortex 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-38781 | When creating a node containing a touchscreen display and a 3D display, the Effective Placement of the touchscreen might become corrupted. |
VP-38782 | Vortex 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-39273 | Vortex 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-39719 | Vortex 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-40293 | UDP 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
ID | Summary |
---|---|
VP-40202 | After stopping the simulation, the Wheel Adaptor accessories are visible at the old position |
VP-40480 | ExContentCreation sdk tutorial refers to the wrong path for the material table and controller.py |
VP-40487 | Demo Excavator scene shows a gamepad duplicated |
VP-40506 | Clicking "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-40536 | Vortex Editor - Crash when closing a context menu after rotating the camera on another tab |
VP-40566 | Vortex Editor - In DirectX mode, panel movement/removal/addition messes up the display |
VP-40569 | Vortex Editor - In DirectX mode, adding and deleting the 3D display extension causes a crash |
VP-40600 | SimApp freezes when clicking on the instructor button |
VP-40614 | Vortex Editor - Interface links connected to a disabled script show as warning |
VP-40694 | on_simulation_stop doesn't trigger when a simulation ends without manually stopping |
VP-40712 | Reassigning device to keyboard in Control Preset produce no action |
VP-40717 | Vortex 2020b Documentation : Some images don't load on the release version of the documentation |
Fixed Issues in Vortex Studio 2020b HF2
ID | Summary |
---|---|
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. |