Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

These are the release notes for the 2021a 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.

Table of Contents
maxLevel3


What's new?

Vortex Studio gives you the tools you need for Virtual Prototyping and Digital Engineering, and to realize anything from a single seat hardware- and driver-in-the-loop simulator to large-scale deployment of simulations on multiple simulator platforms.

Here's an overview of the exciting upgrades and improvements that come with this version of Vortex Studio.

  • Newly added sensors
    • Electro-optical sensors (Lidar Sensor, Depth Camera, and Color Camera)
    • Kinematics Sensor for easy access to position, orientation, acceleration and velocity of machine components
  • Basic support for ROS2 connectivity
    • URDF Import functionality
    • Connecting Vortex Studio to ROS2 via Python for data communication
  • Unity Integration
    • Use Unity as a renderer to feature a Vortex Studio simulation with the powerful Unity rendering engine.
    • We provide tools that will help you port existing Vortex Studio simulation content to be rendered in Unity.
  • Licensing update
    • Vortex Studio Create and Activate were redefined to simplify how you use the platform.

More details in the following sections. For a detailed exploration of any of the the features listed here, please consult the documentation.

Modern Sensors for virtual design and rapid prototyping of autonomous machines

The 2021a release is the first to feature a set of simulated electro-optical sensors which are becoming more and more widespread in modern machines and robotics systems. Consequently, engineers need tools to test drive their designs and rapidly iterate, and Vortex Studio is the ideal tool for that!

The sensors added in this release are as follows:

  • Lidar Sensor
  • Depth Camera
  • Color Camera

All sensors will function in a simulation of Vortex Studio alone or in a Vortex Studio simulation with Unreal Engine. The following visuals provide examples of the Lidar Sensor simulation in Vortex Studio, deployed in Unreal Engine. A point cloud visualization displays the Lidar's hit points with the environment as blue dots.


Extensive documentation is provided for these sensors which shows among others how to quickly reproduce the behaviour of specific Lidar sensors available on the market today. Here is a list of these devices:

  • Velodyne VLP 16
  • SICK LD-MRS400102 HD
  • SICK LD-MRS800001S01
  • Hokuyo URM-40LC-EW
  • Hokuyo YVT-35LX

Finally, all sensors allow accessing their output data via Python efficiently and are thus easy to connect for further data processing, e.g., in a machine learning environment for automation use cases. For how to use Vortex Studio specifically for automation via reinforcement learning, please see the  official reinforcement learning tutorial.

As an example, here is the output of a Depth Camera, saved as a png file via the Vortex Studio Python API:

And here is an example of the Depth Camera operating in Unreal with the depth image shown in the top left corner. As you can see, the depth information is affected by the environment dynamically.

For an architectural overview and the data flow for sensors please have a look at the following diagram. It also shows how sensors can interact in a co-simulated environment with Vortex and ROS2, another new feature (see next section).
Finally, the figure presents which connectivity feature are rolled out with 2021a and which are planned for 2021b. So, stay tuned!

Connect Vortex Studio to ROS2, the Robotic Operating System, for virtual prototyping of robotics systems

With 2021a you can now connect Vortex Studio to ROS2 via python scripts. A new ROS2 connectivity tutorial shows you how. Here is a short animation showing the workflow.

On top of that, in 2021a you can now also import your robots from ROS directly into Vortex via URDF files and obtain Vortex assemblies with all relevant robot information such as the rigid body - joint structure, geometries and the mass properties of the robotic links. Among others, this allows you to migrate your Gazebo simulation, which supports URDF files, to Vortex. Here is how this looks:

A new tutorial and the official URDF importer documentation walks you through the process.

Using Unity as Graphics Renderer for your Vortex Studio simulations

With 2021a, Vortex Studio comes with its first official Unity integration.

This is great news for anybody wanting to benefit from Vortex Studio capabilities and Unity advanced graphics rendering.

It is also straightforward to connect your existing Vortex Studio simulations to Unity for high fidelity rendering.

For more information on how to use Unity as renderer and animation engine, while letting Vortex Studio take care of mechanical simulation as well as distributed, synchronized rendering across multiple PCs, please consult Using Unity as Graphics Renderer.

The SDK integration already available in 2020b is officially supported and brings other benefits, see Integrating Vortex Studio with Unity.

Here are a few highlights of the Unity integration as graphics renderer:

  • A Vortex Studio package is available to easily integrate with Unity, associate Vortex Objects to Unity Prefabs and customize behaviors with Unity Scripting.
  • Scenes and Mechanisms are created with Vortex Studio Editor, graphics assets and animation scripts of the simulation are created with the Unity Editor.
  • Scenes and Mechanisms can be mapped to Unity scripting using VHL interfaces.
  • Support for Dynamics Terrain with material mapping in Vortex while rendering in Unity.
  • Support for Earthwork Systems and Cable Systems (How to associate Vortex Objects with Unity prefabs).
  • The Vortex Director is able to define and start a distributed simulation mixing Vortex and Unity applications.
  • Scripts are made available to convert existing Vortex graphics content to Unity assets bundles in order to transition smoothly to Unity rendering.

It should be noted that CM Labs is using Vortex Studio simulation combined with Unity as renderer for some of its simulator products.

For more information please have a look at https://www.cm-labs.com/immersive-simulation-products/forestry-equipment-training-simulators/ .

Licensing Improvements

Vortex Studio licensing has been updated in order to simplify the usage of Vortex Studio Create and Vortex Studio Activate.

  • The Create Simulator Add-on product has been removed; Vortex Studio Create now enables all Vortex Studio features to create and test content, and build a distributed simulators with no restrictions.
  • The Vortex Studio Embed Add-on has been removed; Vortex Studio Activate now allows users to use any application embedding a Vortex Application as part of a simulator. 

See also Licensing.

General Usability Improvements

Assets Browser

  • Python scripts are now referenced in the assets browser
  • When creating a project, there is now a plugins folder to carry your project specifics plugins along side your project.

See Asset Browser for more details.

Content Loader

  • The content loader extension can now load content in editing mode and start the simulation without user intervention. See Loading Content at Start Up for more details.

Python 3 API

  • As we transition away from Python 2, internal scripts used by the Vortex Console are now using Python 3.  See Vortex Console - Prerequisite Python3 Installation for mode details.
  • The editor will convert your files to the latest version when opened, and using the "Save all child documents" allow saving all references from a single file to the latest version. But with python, it is now possible to write a script that will go thru all your files and update them to the latest version. See Python 3 API: Upgrading Vortex Files for mode details.
  • You can know list factory keys of extensions for reference. See About Extensions and factory keys for more details.
  • Extension fields can be created in code rather than with the user interface. See Creating and getting fields in python for more details.

QtTabWindow

  • When making a QtTabWindow with a single tab, the tab will be hidden unless the option to show it is checked. See QtTabWindow for more details.

MARIN XRI Hydrodynamics module

  • In order to reduce dependencies for generic projects, the Hydrodynamics Module is not added by default anymore. It must be added in the application setup file, at the same level as the dynamics module. See Setting up Vortex for use of MARIN XRI features

System Requirements

Supported Platforms

Vortex Studio 2021a runs on the following platforms:

  • Microsoft Windows 10 (x64), version 20H2.
  • Linux CentOS 7 or equivalent.

Note
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-9700 or better
  • RAM 32GB
  • GPU NVIDIA GeForce GTX 2070 or better


Info

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

Supported Graphics Cards

Vortex Studio 2021a has been extensively tested with NVIDIA GeForce RTX 3060 TI, RTX 3060, RTX 2070 and GTX 1070 cards for high performance rendering with 466.27 and 461.40 WHQL drivers.

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

The 466.27 driver may cause issues when running many graphics simulations concurrently on the same computer. While this was only observed in extreme cases, the driver can be downgraded to 461.40 if needed.

Vortex Studio Create 2021a has also been tested with NVIDIA Quadro P5000 graphics cards.

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

Info

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.


Info

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.


Info

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 2021a 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.

Qt

Vortex Studio uses a custom version of Qt 5.15.1.

Python

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

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

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

Vortex Studio 2021a supports integration Unreal Engine version 4.26.

Unity Integration

Vortex Studio 2021a supports integration with Unity 2020.3.11f1.

Supported Compiler

Vortex Studio 2021a supports Microsoft Visual Studio 2015 (VC14) compiler and above.

GCC 7.3 is the supported compiler on Linux.

Simulink/MATLAB

Real-time UDP protocol of Simulink/MATLAB is 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

Info

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, legacy parts, assemblies, mechanisms, galleries, scenes, setup files, simulator files and any other proprietary Vortex file.

 
From any version of Vortex Studio from 2018a 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 2021a.


From any version of Vortex Studio Academic

Warning
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

  • 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 up to 2021a HF4 and completely removed in 2021a HF5. GCC 7.3 must be used instead.

Minor Improvements in Vortex Studio 2021a

In addition to features documented in the what's new, minor improvements have been made during the development of Vortex Studio 2021a:

IDSummary
VP-36310As a user, I'd like to have the Content Loader extension load content in editing mode.
VP-39207Upgrade Qt to version 5.15.1
VP-41046Subclass VxSim::VxApplication::InitializationParameters has been extracted to class VxSim::InitializationParameters
VP-41175The Dynamics module not longer create the hydrodynamics module. To access the hydrodynamics features, the hydrodynamics module must be added to the setup in the same node as the dynamics module. 

Minor Improvements in Vortex Studio 2021a HF1

ID

Summary

VP-41364

Via the Field<VxFilename> API, a value of type VxFilename supports saving it's value as an absolute path rather than relative to the Vortex Document containing it's value. 


Part of the refactor impacted the VxFilename type.

VxFilename is now its own class rather than a typedef of VxString<512>.

Minor API changes for VxFilename API.

  • Python
    • function data() is no longer available, use c_str() instead. This does not applies to fields, fields of type vxfilename still works with string via property value.
  • C++
    • char* data() is no longer available as a direct access to the internal buffer.
      • Use operator const char*, const char* c_str() or const std::string& get() to read the value
      • Use function set() or operator= to set the value with a string, a const char* or another VxFilename.
    • Function begin() and end() are no longer available. Use const std::string& get() to read the value and iterate on the string.
    • Functions assign() are no longer available. Use function set() or operator= to set the value with a string, a const char* or another VxFilename.

Fixed Issues in Vortex Studio 2021a (2021.1.0.66)

Various bugs and workflow issues have been fixed during the development of Vortex Studio 2021a:

IDSummary

VP-34251

Vortex Editor - The fields window in the simulation metrics extension is too small.

VP-39033

A locked coordinate with limits, when the position is driven into the limit, does not reach its limit.

VP-39778

Vortex Editor - Using Shift+arrows to highlight multiple objects in the tree does not work properly.

VP-39805

Part Animator - If the animated part's control type changes temporarily, it's impossible to clear the warning at the Scene level.

VP-39884

Vortex Console - After a record & playback, widgets in Qt page reset to default position.

VP-40065

Vortex Editor - Explorer tree items can be drag and dropped into the 3D view.

VP-40372

Vortex Editor - When switching document, the camera is not correctly centered.

VP-40392

The vehicle systems (ed: Hinged) Wheel component has a python script Wheel Controller that has an unconnected, unused input Shaft Friction Loss.

VP-40400

Sample tracked vehicle system templates - Wheel radius of the front wheels is shared to all wheels

VP-40461

Vortex Editor - When switching document, the camera is not rotating properly anymore.

VP-40549

Demo Scenes - Packbot demo scene for Explosive Ordnance Disposal (EOD) starts black.

VP-40557

Vortex Editor - A module referenced in a Seat and removed from the setup does not produce an visible error.

VP-40671

Content Debugger - Filter by extension type does not work.

VP-40688

Vortex Editor - Asset Browser does not show all the projects and favorites.

VP-40695

Vortex Editor - When an object is hidden via the eye-icon and then un-hidden, it always comes back with both geometry and graphics visible.

VP-40769

The Intersection Sensor does not trigger when the sensor trigger CG is inside a composite.

VP-40793

Incorrect lift force calculation on a body moving under water with very little mass.

VP-40797

Vortex Editor - Adding a Texture to a Vortex document doesn't mark it as having unsaved changes.

VP-40808

Vortex Editor - Blue "busy" circle always visible while "parts upgraded" popup is in focus.

VP-40844

Parameter PluginDirectories is not taken into account when loading a setup file.

VP-40898

Vortex Setup - Vortex Licensing tool package doesn't properly detect its current installation location when upgrading.

VP-40992

Vortex Editor - A VHL interface stays in read-only mode after switching tabs while simulating.

VP-41068

When Vortex Setup window is maximized, options Next and Cancel cannot be seen.

VP-41071

A cylinder sitting with its flat side against a long cylinder's round side takes a long time to come to rest.

VP-41086

Vortex Console - Crash when a database entry has no scoring rules.

VP-41103

Vortex Editor - Crash when dragging an Mechanism out of the Explorer area.

VP-41172

Vortex Player - SimApp - View does not remain upright when manipulated with the mouse.

VP-41173

Warning on FileTerrain while loading.

VP-41184

Vortex Player - On screen messages are wrapped and hard to read.

VP-41205

Vortex Editor - Frequent crashes when editing collision geometries.

VP-41251

Vortex Editor - Cannot drag and drop Vortex files into Editor 3D window from Windows explorer.

VP-41342

VortexLicenseManager - Linux - Cannot Install licsetup file on Linux.

VP-41359

Vortex Editor - Clicking on a field's "browse" button will not work if you are too close to the edge.

VP-41360

Vortex Console - QtTabWindow Full Screen and Maximized parameters do not work.

VP-41377

Vortex Editor - The "Tire Type" extension cannot be added to a new folder.

VP-41409

Vortex Editor - Vortex Editor Crash When Adding a Second Point to the Path Sequence when the Interpolation Curve Type is set to Catmull-Rom.

VP-41443

Vortex Editor - Right-clicking twice on the 3D Window in a new Setup file returns an error.

VP-41516

Python Scripting - API is missing VxTransform functions for rotation and transformation of vectors.

VP-41556

Vortex Director - A second versionless Studio package is displayed under "Packages" tab.

VP-41620

Vortex Editor - In the Assets browser, a Setup Document is represented with a Control Icon.

VP-41627

Vortex Setup - QtDisplay Effective placement is invalid when there is no graphics module.

VP-41648

Vortex Console - Crash when using a screen index in IQtWindow higher than the number of screens.

VP-41715

Vortex Player - Crash when showing the graphics statistics with F3.

VP-41831Python Tutorial - Library gRPC not available during the launch of PyRemoteDebugging.py
VP-41876Vortex Editor - Crash when adding part animator extension
VP-41879Graphics with "Blend Mode" set to "Modulate" are not hidden by fog

Fixed Issues in Vortex Studio 2021a HF1 (2021.1.0.73)

ID

Summary

VP-41874

Vortex Editor: Missing pop-up indicating to restart when the python interpreter is modified
VP-41878

Unexpected contacts appear when a cylindrical hole is inserted into another cylindrical hole

VP-41928VortexUnityApp: loading a scenario is slow
VP-41970Unity Integration: Cables don't receive the visible value from Vortex
VP-41986Vortex Setup "Help Forum" link is broken

Fixed Issues in Vortex Studio 2021a HF2 (2021.1.0.79)

ID

Summary

VP-41790

Lidar and Depth Camera do not capture soil.

VP-41898

Unity Integration: Soil Particles and Cables rendering produce visual artefacts when temporal anti-aliasing is enabled

VP-41900

Content Creation Tutorial - part documents should not be generated

VP-41902

Performance issue with Unreal Level Streaming

VP-41991

Unity Integration: 3D Display extension's inputs Physical Orientation and HUD Rotation values are not working

Fixed Issues in Vortex Studio 2021a HF3 (2021.1.0.102)

ID

Summary

VP-41610

Unity Integration: Soil Particles screen space mesh rendering has some transparency glitches

VP-41972

Vortex Editor: it should not be possible to save a file while simulating

VP-41992

Crash when using multiple Lidars Integration in Unreal

VP-42004

Unity Integration: VortexUnityApp does not start in full screen mode

VP-42046

Unity Integration: Earthwork - terrain flickering in digging area

VP-42065

Unity Integration: VortexUnityApp displays a black screen when license is missing
VP-42095Unity Integration: The SSM particles orientation can flip when the soil particles are moved around

Fixed Issues in Vortex Studio 2021a HF4 (2021.1.0.112)

ID

Summary

VP-42060

Altair initialization fails when run outside the Vortex binaries folder

VP-42192

Sensors - Cyclone Lidar Visualization Only Works for One Lidar

Fixed Issues in Vortex Studio 2021a HF5 (2021.1.0.137)

ID

Summary

Support ID

VP-41618

Rendering performance regression00008479

VP-42054

Laptops may detect the wrong GPU when launching Vortex Editor ultimately leading to a crash
VP-42160Unreal Terrain Streaming - Missing Terrain in Remote Debugger00009125
VP-42206Vortex Editor:  Selecting an item in the 3D view does not expand the Explorer tree to show the highlighted asset
VP-42273Unity: SSM flickers on distributed simulator
VP-42317Vortex Editor: may crash silently if a screen was previously disconnected from the computer00009298
VP-42318Vortex Editor: Terrain cannot be created from File when using the "Ok" button
VP-42382VortexUnityApp : memory leak causes a crash after some time

Fixed Issues in Vortex Studio 2021a HF7 (2021.1.0.165)

ID

Summary

Support ID
VP-42048Displaying constraints is extremely slow

VP-42186

Cylinder hole collision response has issues00009200
VP-42120Monitor doesn't display underwater fog00009105

Known Issues in Vortex Studio 2021a

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.
VP-41437When a sound is created such that the listener and the emitter are exactly at the same location, or the listener is moving together with the emitter such that it is precisely above it, the sound that the operator hears becomes garbled. This happens for monaural sound track when the listener and the emitter are moving in tandem while being either too close or aligned vertically. The workaround is keep the sound emitter and the listener separate and make sure they can't be move in a way where they could align with each other.

Deprecations in Vortex Studio 2021a

see End of Life Notice2823147940