Vortex Studio is a complete simulation platform. The features are delivered as a stack of independent modules and applications useful for building a complete simulator.
Vortex Studio Editor
The Vortex Editor is a desktop-based editing tool built around Vortex Studio, and provides a means for the rapid creation, modification and testing of simulated mechanisms and scenes. The Vortex Editor provides access to all major Vortex dynamics capabilities through a point-and-click, multiple layouts, drag-and-drop graphical user interface, rigid bodies, cables, vehicles and earthwork.
The Vortex Editor includes live testing and validation features while running the simulation to see behavior and changes immediately, without having to run an external application or recompile the simulation content.
Main Capabilities
- Create and modify content via Graphic User Interface
- Support both point & click and drag & drop interactions
- Interface panels can be detached, moved, and resized at will
- Interface panel layout can be saved, exported and imported
- Discover available models on disk via the Asset Browser and drag & drop them into a simulation.
- Browse instances with Explorer tree, with a selectable hierarchical display showing their relationships with one another.
- Display all type and instance parameters in Properties window, and edit the values. Changes are propagated instantly to the other windows.
- Connections displayed via a visual graph interface, with objects displayed with inputs and outputs connected using graphic lines; connections can be moved, grouped and labeled.
- Test scenes, mechanisms and assemblies during design by using the mouse to apply external forces, or by changing parameters to validate that they behave as expected.
- Import, Edit and Export Material table — add materials, configure materials and manage contact parameters.
- Same dynamics engine as in Vortex Studio Simulation applications and CM Labs Simulation products.
- Provide support for input devices such as joystick or mouse. Navigate and control Editor viewports using a connected 3D Connexion navigator device.
- Create and edit control interfaces to expose inputs and outputs to external control hardware.
- Create Python3 scripts for advanced and custom dynamics behavior.
- Graphically plot one or several numerical values over time during simulation using the Plotter. Export plotter data and save as .csv files.
- Supports Localization of Software Interfaces and Content (Chinese, etc.).
- Profile Vortex Studio performances by selectively monitoring each modules and extensions running in real time.
Graphics Asset Editing
- Provide an easy-to-use tool for modeler and artist to create and edit graphics asset.
- Import 3D Model as Filmbox (FBX), Collada (DAE), OpenFlight (FLT) and OpenSceneGraph (OSG, IVE) file formats.
- Export graphics galleries as FBX format models.
- Import Texture as DDS, JPEG, PNG or TGA file format, or export them as DDS.
- Add graphics node and edit Local Transform, Graphics Geometries, Graphics Materials, Levels of Detail, shadow interactions and other rendering attributes.
- Organize graphics nodes hierarchy using drag-and-drop with automatic computation of the local transform to maintain node world space location.
- Contextual menu for preparing models with Center, Set and Bake Transform, Merge Geometries, and other commands.
- Execute mesh de-featuring and simplification commands (note: feature only available with optional CAD Importer Add-On).
- Add Graphics Materials and edit Emission, Occlusion, Albedo, Specular, Gloss, and Normal channels with a real-time dedicated preview.
- Select UV Set for each texture and modify with tiling, offset and angle inputs.
- Visualize model with time of day light and shadows to validate materials.
- Add and expose parameters using VHL Interface using drag-and-drop.
- Clean up graphics gallery by automatically detecting and removing orphan assets.
Mechanism and Assemblies Editing
- Provide an easy-to-use tool for creating Vortex Studio mechanisms and assemblies using 3D models as references.
- Set assemblies/parts properties such as attachment, collision, constraint, materials, mass, inertia tensor, etc.
- Add graphics gallery assets such as 3D model, Graphic Materials and Textures.
- Add and connect extensions and python3 scripts to extend mechanism and assembly properties.
- Add and expose objects interfaces (VHL) using using drag-and-drop from property panels.
- Perform basic validation on constraints and collisions.
- Support for advanced extensions for fast editing of specific mechanisms, like vehicles and cables.
- Provides extension interface allowing clients to build plugins for fast editing of their unique mechanisms.
- Include multiple starting mechanical configurations in a Mechanism file to specify the initial conditions at the start of a simulation.
- Add cables to mechanism, define winch, pulley, ring and attachment properties, and simulate directly in Editor.
- Create vehicle mechanisms by selecting the right template and configuring all mechanical components (engine, transmission, steering, etc.).
- Add bucket or blade tool to add earthwork capabilities to mechanism and adjust the predefined shape to match the equipment model.
Scene Editing
- Provide an easy-to-use tool for engineers and designer to create and edit scenes and testing scenarios.
- Import and setup mechanisms in scene context with terrain.
- Add terrain from Filmbox (FBX), Collada (DAE), OpenFlight (FLT) and OpenSceneGraph (OSG, IVE) files via a graphics gallery and assign contact materials based on their graphic nodes or textures using regular expressions.
- Configure each mechanisms using their interfaces.
- Attach mechanisms together using attachments.
- Add and connect extensions to extend scene properties.
- Include multiple starting scene configurations in a Scene file to specify the content and initial conditions at the start of a simulation.
- Run simulation to perform in-context validation.
- Add cables to connect mechanisms placed in a scene; define winch, pulley, ring and attachment properties and simulate directly in Editor.
- Hooking Extension avoids the need for scripting hooks and attachments behaviors
- Define zones on terrain where earthwork tools can perform soil deformation. Zones can be nondeformable for dropping soil, or diggable.
- Create splines to form paths that can be used to animate or otherwise move objects.
Simulator Setup File Editing
- Provide an easy-to-use tool for system integrators to create and edit their distributed simulation applications, network and display configurations.
- Browse nodes and other components with Explorer tree, with a selectable display showing their relationships with one another.
- Display all type and instance parameters in Properties window, and edit the values.
- Use the Display Manager’s visual interface to define (using real-world dimensions and angles) how a multichannel simulator’s displays are sized and physically arranged.
- Select which cameras each display will use.
- Import textures to use as loading or screensaver images.
- Create seats for operators and instructors, defining what they control and what they have access to.
- Save Setup files for use on other projects.
Vortex Studio Player
Vortex® Studio Player is a simulator application that allows you to load assets (either the Vortex Studio Demo Scenes that you installed or another Vortex Studio scene created with Vortex Studio Editor) and simulate them.The simulation applications runs locally on the machine with one master process and two slave processes, one slave being used as a console and the other for graphics rendering.
The master process computes the dynamics simulation and distributes the simulation data required for the slaves to graphically render the results.
The console interface allows you to load simulation assets and simulate them; it also contains more pages for different features like key frames, recording, and controls.
The interface also contains profiling, debugging, and logging panels to be used when tuning or troubleshooting simulated content.
Main Capabilities
- Load scenes via a GUI or command line, and launch them.
- Pause current simulation during playback to return in simulation mode later (Resume).
- Record all kinematic information generated by Vortex Studio (dynamics, extensions, etc.) to file.
- Play back recorded simulation from file with VCR-type controls such as playback speed, direction, current frame position.
- Create keyframe for taking snapshot of the simulation at any given time that can be persisted on disk and restored on the same content at any time.
- Profile performances by monitoring each modules and extensions running in real time.
- Defined via a configuration stored in an application configuration file (.vxc), which can be created and modified via Setup files in the Vortex Studio Editor.
- Select the active Roles and Seats, including support for displays and viewpoints.
Control Presets
- Decouple controls and models to facilitate the reuse of the latter across a wider variety of scenes and hardware.
- Create and edit device mapping presets that contains a reference to a control interface and a list of device mappings.
- Each preset has one or more device mappings, each with a list of field mappings between control interface fields and device fields
- Allows easy switching between control hardware types (for example, using CANbus controls but testing with an ordinary gamepad)
- Preset files can be saved and deployed on other simulators to save on setup time.
Vortex Studio Director
The Vortex Studio Director is a desktop-based application that provides system integrators with an interface for creating, configuring, launching and monitoring a simulator. - Specify simulator name
- Configure a new or existing simulator topology (nodes, network, starting application)
- Select network adapter used to communicate to the remote machines
- Specify Setup File containing the setup of the application, i.e., modules and extensions used in the different nodes
- Specify Data Provider Path: local path used by the node elected to be the data provider
- Customize Splash Image: image used when starting a simulation
- Discover computers present on the selected network
- Verify whether services are running on the expected machines
- Launch and monitor the status of simulation applications
- Lists packages and licenses for each computer
- Offers a choice of simulator to choose if a path is given to the launch mode in command line
- Director application can be minimized to the toolbar and will continue to monitor the simulator
Vortex Studio SDK
The Vortex SDK exposes the following features.C++ SDK
- File-based configurable application.
- Four primary content objects: scene, mechanisms, assemblies, and extensions.
- Setup file creation and manipulation
- Extensibility through application modules and content extension.
- Data connection to build content logic and easily combine functionalities.
- Versioning and serialization of all objects.
- Several APIs available to the user to build modules and extensions.
- Create different roles in a simulation (e.g. Tank Driver and Gunner, Crane operator and Signaler…) by assigning extensions (e.g. Camera, Audio Listener, Devices…) to each. Dynamically associate Roles to Seat (hardware setup) during simulation.
- Set Metrics to be recorded during a simulation.
- Create key-frame for taking snapshot of the simulation at any given time that can be persisted on disk and restored on the same content at any time.
- Record and Playback: Record, play back, recorded kinematic information generated by Vortex Studio (dynamics, extensions, etc.) to file.
- Convert external terrain into collision geometry meshes using the Vortex C++ Terrain API. Dynamically load terrain tiles or streamed terrain for best performance.
Python Scripting
- Vortex Studio both extends and embeds Python.
- A part of the Vortex Studio API is exposed as a set of Python objects and functions.
- Python extension makes it possible to create a custom Vortex Studio simulation using nothing but Python as a programming language.
- Embedded Dynamics Python is a Vortex Studio plugin that allows any Vortex application to execute dynamics operations as scripts.
See Vortex Studio SDK and Python 3 Scripting
Vortex Studio Dynamics
The Multi Body Dynamics module includes the following physics, collision detection, and solver features. For more information regarding the theory that underlies the Vortex Studio MBD module, please refer to the Vortex Theory Guide Document. Core Dynamics
- Full collision response and dynamic response, with minimal CPU overhead for calculations.
- Vortex Studio calculates contacts between rigid bodies, adds constraints, and simultaneously solves full constraint systems including kinematic loops.
- Objects can be modified, extended, assembled, and disassembled at runtime.
- Assign object properties such as mass, inertia, center of mass.
- Define material interaction properties such as friction, stiction, and restitution in physically meaningful units.
- Most object and interaction properties can be modified at runtime.
- Support for multiple friction models ranging from frictionless to scalable approximation of Coulomb friction enables users to balance efficiency with accuracy.
- Anisotropic friction allows objects to have different friction properties for different directions.
- Choose between multiple solvers optimized for precision versus speed.
- Scalable contact response capable of simulating large numbers of objects in real time.
- Contact generation algorithm based on the volume of intersection between colliding geometries (instead of only on boundary intersections) for improved stability, particularly in large area and stable contact situations (such as in grasping, docking, etc.).
- Kinematic and dynamic constraints, including multi-body constraints that can be added, removed, and reconfigured at runtime.
- Multiple constraint types such as ball and socket, hinge (revolute joint), spring, and distance; various vehicle suspension constraints; and advanced constraints allowing users to precisely control relative linear and angular degrees of freedom.
- Constraint degrees of freedom can be motorized (limited in velocity), locked (limited in position), or free — all with or without compliance and motion range limits
- Support for high constraint stiffness
Collision Detection
- Object collision detection between large numbers of objects and the terrain.
- Geometrical primitives, terrains, and complex polygon meshes. Vortex Studio computes contact points, normal and penetration, with optional support for fast-moving objects and time-ofimpact calculations.
- Automatically generate convex meshes from any type of triangle mesh model using HACD or VHACD convex decomposition algorithms.
- Optimized for speed: objects are automatically separated into groups — objects that are close to each other and need to be checked for collision or interference versus objects that are far apart and do not need to be taken into account.
- Efficient handling of large numbers of objects, and optimized object insertion and removal.
- Collision pairs can be disabled for maximum user control over specific behaviors.
- Level of detail: objects can be represented by meshes of varying complexity, or by simpler collision primitives.
- Event handling: persistent user information for colliding pairs allows users to schedule events based on collision or separation.
- Support for a large number of collision types such as geometric primitives, convex mesh, triangle mesh, plane, and height field.
- Sensors and Triggers for intersection detections and ray casting available in the Editor and through the API.
o Collision detection data between collision geometries is available o Sensors and triggers can be activated or deactivated at run-time o Tutorial available to show how to customize reporting extension
- Part Distance Sensor and Geometry Distance Sensor extensions measure the closest distance between parts or collision geometries, respectively.
Solvers
- The simulation uses a Lagrangian formulation with inequality constraints that define a Linear Complementary Problem.
- Supports multiple solvers:
- Direct solver providing high accuracy for stiff systems o Iterative solver providing fast simulation for very large systems featuring high compliance
- Hybrid solver providing a solution in-between the above (more accurate than iterative, faster than direct)
- Parallel solver allows splitting large dynamics simulations for greatly reduced computation times
- Direct LCP solver will, upon failing to produce a correct result, return the best result which it came across during its solution finding process.
- Best result is qualified using a physically-based error metric
- Prevents “blow-ups” and simulation errors in the case of infinite force generation Build mechanisms and modify constraints, collision, and part properties at runtime.
- Support for multicore (parallel) processing by solving groups of rigid bodies, each in its own thread, and with an appropriate solver.
- Solver Groups feature split simulation into smaller portions called partition that are solved concurrently on separate computer cores
- Automatic Solver Groups functionality can automate part of the optimization workflow for setting up partitions
- Grouping can be overridden by users in order to break up large problems into smaller ones for efficiency or optimization purposes
- Sub step dynamics calculations by selecting a stepping mode in the Dynamics module of the Setup file.
- Single Step: a single dynamics step is done per application update. The time step for the dynamics step is set according to the application's simulation frame rate. This is the default behavior.
- Uniform Sub steps: multiple dynamics steps are performed in a single application update. The physics time step for the sub steps are set to a value which is always smaller or equal to the desired time step (inverse of the Desired Uniform Sub step Frame Rate parameter). It is computed by equally subdividing the application's time step into multiple steps.
- Fixed Sub steps: multiple physics sub steps are performed per one application update.
The number of sub steps is defined by the Number of Fixed Sub steps parameter.
- Automatically shape data before it is fed into the solver with the Partition Optimizer (enabled by default in the Dynamics Module), to make calculations faster with no loss of accuracy.
- Selective wake-up speeds up simulations with many parts.
- Parts with the “selective wake up” option enabled are allowed to fall asleep whilst still being connected to moving parts.
- Parts only wake up if external forces and torques applied induce a sufficiently high motion.
- Auto-merge allows contacting objects that are moving with the same motion relative to each other, to fuse.
- Fused parts sleep, relative to each other.
- Fused parts are split when acceleration threshold is exceeded or an event occurs (such as a new contact).
Terrain
- Support for single mesh (DAE, OSG and FLT) terrain source with offline conversion tool.
- Support for graphics gallery file type, allowing visual customization using the Vortex Studio Editor.
- Assign contact materials from terrain nodes or textures.
- Define contact materials assignment by adding user defined regular expression rules.
Cable Systems Module
Vortex Studio’s Cable Systems provides a realistic simulation of heavy-equipment cables. These extended capabilities ensure real-time behavior by allowing cables to adjust to bends while distributing mass and forces correctly. Additionally, Cable Systems includes simulation of winches and pulleys, and simulates cables’ interaction and collision with other dynamic Vortex Studio objects, or with themselves.
- Simulate objects such as wire, chains, and ropes for hoisting, towing, sling and other purposes for real-time simulations.
- Set cable way points using winch, pulley, attachment point, and ring.
- Optimize performance by defining which segments are flexible.
- Define resistance to cable deformation while stretching, bending, and applying torsion.
- Set cable stiffness using parameters that are independent of the cable’s resolution o Parameterize cable using Young’s modulus, relative elongation and number of wires
- Simulate extra-long cables with a minimum number of segments — the number of segments changes depending on the curvature of the cable using Adaptive Cable method.
- Employ spooling using a lock velocity or a motorized control for simulating different types of spooling behavior.
- Spool cable in and out of a fixed point.
- Break cables at a pre-defined location when the tension is exceeded.
- Cut cables at a specific location using the Cable Cutter extension.
- Lock a part to any desired flexible cable segment at its current location with a Cable Grabber extension, and use it to apply forces on the cable. o Measure cable tension on either side of the grab
- Assign contact materials and make a cable collide with its environment.
- Set the cable to interact with a specified fluid and establish the cable’s buoyancy.
- Add / remove Cable during runtime simulation.
- Activate / deactivate Cable during runtime simulation.
- Beyond generic cable, more specialized types are available:
- Catenary cables: ideal to model risers (U Shape, Steep Wave, and Lazy Wave) and freehanging cables (mooring line, umbilical, etc.). They are animated with collision geometries and are not dynamically impacted by contact from other entities. o Pipelines: user-defined cable paths, such as flow-lines, that are static with collision geometries. Pipelines are not dynamically impacted by contact from other entities.
- Activate the Geometric Stiffness feature to stabilize cable simulation under strong loads without adding unwanted and unrealistic damping effects.
- Trade collision accuracy for speed with the Low Precision Contacts option.
- Mesh Spline option automatically instances 3D geometries along its length.
- Quick modeling of items like tank and excavator tracks, chains o Display parameters such as distances between links can be controlled
- Snapback models whiplash effect occurring when cables or hooks break under tension.
- Effect can be added to both Generic Cables and Hook Groups o Parameters available to control both direction and energy
Vehicle Systems Module
Vortex Studio’s Vehicle Systems is a module that provides additional vehicle simulation services and utilities for both tracked and wheeled vehicles. These extended capabilities include engine, transmission, suspension, and steering simulation components. Additionally, the interaction between soil and tires or tracks can be parameterized to account for varying traction performance on different soils like mud, sand, or asphalt.
- Create highly realistic wheeled and tracked vehicles based on engineering design parameters.
- Select vehicles from a list of predefined templates including standard car, truck, trailers, and construction equipment models, or edit the templates to suit your specific needs.
- Build complete driver simulations by integrating vehicle controls directly on a Vortex Studio vehicle.
- Simulate complete vehicle dynamics: interaction between chassis, wheels, suspension, power train, and any other component.
- Set the vehicle’s axles and create its chassis, including defining its mass and center of mass
- Set wheels’ dimensions, mass and inertia for wheeled vehicles
- Set road wheels, sprocket and idler location, dimensions, and mass for tracked vehicles
- Access all vehicle mechanical properties for power train, such as engine, torque converter, transmission and differential.
- Set the maximum torque used when engaging a vehicle’s differential locks.
- Tune the engine using a full, adapted, or scalable torque table. The torque table describes the amount of torque the engine can deliver at a set RPM and for a given amount of throttle.
- Insert external CSV files containing Lambda and Ctr torque tables. Define the transmission’s gear ratios and final gear ratio Program automatic gear changes based on RPM.
- Restrict which gears are available during a simulation.
- Specify simple or quick gear-shifting modes.
- Define a transition time between an automatic transmission’s gears.
- Define suspension for wheeled or tracked vehicles, including stiffness, damping behavior, and maximum travel.
- Suspension displacement is available as an output
- Define steering model (Ackerman 2 or 4 wheels, crab, pivot, or custom).
- Define braking controls and logic.
- Input shaft velocity from external source and output resulting torque on vehicle systems’ components.
- Insert tire models to define the interaction forces applied at the tire/ground interface.
- Soft terrain and hard ground supported, based on semi-empirical models.
- Hard ground: Pacejka 1997 and 2002 Magic Formula, Composite Slip, Fiala, and standard contact (Coulomb)
- Soft terrain: Bekker, Wong, Reece, Muskek, and Snow Tire pressure can be used to determine stiffness.
- Soft ground tire models capture rolling resistance from ground deflection.
- Tire Model can be added to vehicles from previous Vortex Studio releases.
Earthwork Systems Module
Vortex Studio’s Earthwork Systems is a module that allows you to easily add earthmoving capabilities to a simulation. It provides a toolset similar to that found in industry-standard earthmoving equipment, along with the ability to define zone of terrains where tools can interact with soil materials in various ways (compression, cutting, piling, dumping, shearing, etc.). Earthwork Systems comes with several predefined standard soil materials such as clay, sand, loam, and gravel.
- Simulate highly deformable, plastic objects, using volume representation for the several modes of soil that must be represented: o Static soil in its ground state or in stable piles o Soil that is pouring or settling o Soil that is being compressed or sheared or separated through interaction with a tool
- Simulate soil-like materials emitted from artificial sources, such as hopper or concrete pump.
- Deformable three-dimensional geometric representation, which allows fast deformations, calculations of excavated volume.
- Hybrid particle-surface model to allow different geometric representations and different force models.
- Simulate deformation and compaction due to vehicle wheels and tracks on vast surfaces with improved performances.
- Provide realistic piling behavior of wet soils such as loam or clay via cohesive soil model.
- Support soil deformation physics such as compaction, soil separation, erosion, and soil flow.
- Position dump and dig zones across terrain surface.
- Set the shear strength of soil.
- Control the maximum number of soil particles as well as culling rules in scenes.
- Library of user-configurable tool-soil interaction tools.
- Standard deformation tools include excavator bucket, generic bucket and blade o Soil bin for truck bed and cargo hold-like equipment, with ability to start the simulation with an initial soil load o Soil Emitter available to generate soil particles
- Soil Culling Geometry and Monitor remove soil particles on touch, and monitor the culled particle mass
- Soil Layer allows for adding layers of soil to Earthwork Zones and Soil Bins, can be used to bury objects in ground
- Grade Quality sensor can compare the shape of terrain in a given box to a plane o Support soil accumulation, flow around borders, and pouring out using particles o Includes sand, loam, clay, and gravel soil material types
- Have several digging tools of different sizes operating within the same scene and on the same earthwork zone.
- Enable or disable earthworks tools at runtime.
- Add specialized material modifiers to the Earthwork graphics.
- Erosion flow to simulate collapsing soil on slopes o Tri-planar texture mapping to prevent undesired texture stretching on slopes o "Height Colorization," when set with a transparent texture, to colorize the earthwork zone and provide visual feedback about current depth to the operator
- Render a soil material between particles with Screen Space Mesh (SSM) to create a smooth and consistent look for visually chaotic soil while keeping computations to a minimum.
- Set multiple Graphic Materials in Soil Clump meshes o Set blur and noise effects to tune appearance o Control soil/rock visual ratio
Hydraulic Systems Module
Vortex Studio’s Hydraulic Systems is a module that allows you to easily add real-time hydraulic systems to a machine or vehicle without requiring Python scripting or co-simulation with an external, dedicated hydraulics simulation. It provides pre-packaged objects that can be inter-connected with each other or with other simulation objects, such as shafts or control scripts. Some common hydraulic components like relief valves, fluid reservoirs and lines are abstracted; others, like control valves, are directly included into the provided hydraulic objects, along with their operating parameters.
Note: the 2020a version is only a technical preview and not the final version of the feature. User feedback is welcome!
- Build real-time hydraulic systems for machines or vehicles without Python scripting or cosimulation with an external hydraulics simulation.
- Model hydraulic components such as transmission, pump, actuator, and manifold (both divider and combiner types).
- Connect hydraulic components to each other or to simulation objects such as engines, shafts, control scripts, etc.
Vortex Marine
Vortex Studio’s Marine add-on provides fluid simulation of buoyancy, drag, and added mass hydrodynamic effects on rigid bodies when interacting with large bodies of water for amphibious and underwater vehicles. Vortex Marine includes Sundog Triton for a stunning water rendering effect.
- Fluid interaction supporting buoyancy, drag, and lift.
- Set detailed parameters for each part o Displaced Volume o Drag Coefficient o Lift Coefficient o Kirchhoff tensor o Added Mass
- Customize water density for more accurate buoyancy
- Full JONSWAP, Tessendorf and Pierson-Moskowitz wave spectral models.
- Quickly define sea state using Beaufort or Douglas scale number.
- Customize sea state by adding wind fetches and swells to produce wave heights and motion consistent with any wind speed and direction.
- Further customize sea state by adding wave components to model more complex wave systems, albeit at a cost to performance.
- Langmuir circulation visual effect automatically added based on wind speed and direction.
- Attach object to ocean heave for animating items that do not require full dynamics simulation, such as buoys or markers.
- Measure height from the waves for any object.
- Simulate thrusters by applying directional force based on propeller’s RPM.
- Realistic 3D water and ocean rendering.
- Customizable underwater silt particles (color, density, shape, etc.) o Underwater visibility control o Object, environment and light reflections on ocean surface o Particle spray on bow wakes and breaking waves o Fully customizable propellers wash effect on ocean’s surface o Fully customizable wake effect on ocean’s surface o Basic Kelvin wake effects with fully exposed parameters o Customizable wave heights with fully exposed parameters o Apply textures on ocean’s surface and control properties for special effects such as water impacts and wind shears
- Control specular reflection on ocean to dampen or disable reflection of a light source
See Mechanical Engineer Guide
Vortex Studio Graphics
The image generator module lets you visualize your simulation environment with realistic scenes for man-in-the-loop engineering and training. - Hierarchical scene graph allowing nodes to be attached to each other and follow each other’s movements for kinematic articulated structure.
- Supports instancing on similar models’ materials and geometries to improve the scalability.
- Synchronized by the application framework and reads the information to render from the kinematics of Vortex Master Application.
- Configure number of viewports and channels.
- Runs multiple monitors on Windows 10 computers with recent hardware and drivers.
- Multi-Monitor support includes Qt Display as well as 3D Display extensions
- Directly import 3D graphic assets from FBX, DAE, OSG, IVE or FLT formats.
- FBX Importer creates nodes for 3ds Max’s geometric transforms, if these are present o OBJ Importer is optimized to handle large models with many small triangle fans or strips
- Directly export 3D graphic assets to FBX format and re-import them after modifications.
- Load textures from PNG, JPEG, TGA, or DDS files, including compressed textures.
- Export textures as DDS files and re-import them after modifications.
- Control 3D graphic assets materials and visibility independently.
- Render emission, occlusion, albedo, specular, gloss, and normal materials using GPU optimized shaders.
- Allow layered textures and masks o Up to 16 textures and masks per graphic material o Up to 4 UV sets per graphic material
- Enhance material’s texture quality using 16x Trilinear Anisotropic Filtering.
- Support multiple levels of detail, each with its own geometry, material and maximum distance.
- Existing levels of details can be imported from the 3dsMax exporter for OSG, OSGExp
- Level of Detail feature is computed per-viewport o Debug visualization tool colorizes rendered Graphics Nodes according to the level of detail used for their rendering
- Includes ambient, point, spot, and directional lights.
- Up to 128 direct light source using Forward lighting rendering o Up to 16 casted shadows using Cascaded Shadow Map
- Mathematics for lighting, blending and materials are done in linear space (Gamma Corrected).
- Enable halos on light sources via a selection of built-in textures and effects.
- Halo parameters are set individually for each light o Standalone halos are available as well
- Halos can be directional or omni-directional for a haze-like effect
- Control point of view using perspective, orthogonal, or look-through camera, or set a single viewpoint for use with multiple displays.
- Generate dust, smoke, splash, or any other type of particle-based effects.
- Create realistic outdoor environments with native integration of Sundog Silverlining to render skies for any time at any location (Skydome).
- Environment light sources (Sun, Moon, Ambient)
- Automated connections can be disabled for direct control and tuning of lighting
- Change weather conditions (fog, rain, snow, etc.) at runtime.
- Directly control their visual appearance including density, color, direction, fade, etc.
- Define cloud cover above the scene, including appearance, density, thickness, altitude, and transparency
- Add static background from images using cube mapping (Skybox).
- Reflect Skybox or Skydome in graphic materials o Checkerboard available as default environment map for reflection in graphics gallery
- Create and position text anchored in 2D viewport or in 3D space.
- Add text and image overlays, and control their visibility per viewport.
- Support synchronized multichannel rendering (with Activate or Engage licenses).
- Render camera into Graphic Mesh and create monitor-like effect.
- Create flat or curved mirrors and monitors.
- Each mirror and monitor can be tuned and/or de-featured (omit shadows, omit reflections, Far Clip distance, LOD bias) for improved performances
- Apply dynamic text to a texture or label for interactive billboard or container numbering.
- Place labels in World space using the Transform Toolbar o Customize position, orientation, size, color, font and text content
- Project textures on the surfaces of 3D models.
- Add surface detail at runtime to any model or terrain: logos, markings, dirt layers, mud splashes, individual signs, etc.
- Place decals in World space using the Transform Toolbar o Decals can be used at the Scene or Mechanism levels
- Leave marks or vehicle traces on the ground from any moving object.
- Produce seamless traces on Terrain model from wheel, track or dragged object
- Add post-processing effects to camera o Automatic exposure o Desaturate (Black & White) o Noise o High-Dynamic-Range (HDR) o Tone Mapping
- Replace Vortex Studio Visualization module by any third-party IGs using built-in ICDs to retrieve all kinematic data.
- Support for SpeedTree vegetation with a built-in library of ready to use common vegetation (additional vegetation available from SpeedTree).
- Import ambient-occlusion per-vertex values from SpeedTree and add those to Vortex
Studio ambient-occlusion computations, for more volumetric-looking trees o Vegetation can react to wind
- Use Vegetation Field procedural tool to define zones populated with user-selected vegetation assets, replacing the need to manually add individual items to a scene.
- Define vegetation density, including vegetation-free zones o Randomize asset distribution over the area o Automatically instance objects and snap them to terrain topology o Use proper LOD for the objects in the field
- Any graphics gallery object can be used to populate the vegetation field
- Choose from several anti-aliasing methods, improving quality of visuals by smoothing out edges found in a scene and reducing motion flicker.
- FXAA (Fast Approximation Anti-Aliasing): adds a lower quality anti-aliasing that uses fewer system resources
- MSAA (Multi-Sample Anti-Aliasing): the higher the number of samples, the higher the quality of the anti-aliasing and thus the cost to performance. Available sampling rates include 2x, 4x, 8x, and 16x.
- SMAA (Sub pixel Morphological Anti-Aliasing): applies a high quality anti-aliasing to the scene, requiring more system resources than FXAA
- SMAA S2x: combines SMAA with MSAA 4x
- Enable Screen-Space Ambient Occlusion (SSAO) to approximate ambient occlusion on every object in the scene in real time.
- Add visual volume by replicating the absence of light in corners and crevices o Available as an option in the Editor, and as an extension in the Player
- Adjust and modify the overall colors of a scene with Color Grading.
- Apply filters to enhance mood without modifying models’ base textures o Apply color correction filters o Enables tone mapping using a selection of presets matching color ranges of monitors
- Support virtual reality (VR) headsets as display devices. If you have a supported head-mounted display and its drivers properly installed, a simulation can be viewed through it.
- Steam VR/OpenVR support o Supported HMD devices: HTC Vive, HTC Vive Pro, Oculus Rift
- Control parameterization and quality of shadows and other feature adaptations (Mirror, Monitor, and Ocean Reflections) in a Scene.
- Automatically synchronize frame-skipping, distributing calculations of shadows, reflections, and displays
- Features data consumption information displayed for performance optimization Technical preview of Physics-Based Rendering (PBR) lighting model.
- Available in Graphics Materials for setting up photorealistic visuals
- Considers “metalness” and roughness of surface materials in lighting calculations
- PBR lighting information can be automatically computed from SkyBox or SkyDome
- A dedicated Light Probe can also be used to set the environment lighting information
- Possible to have both specular- and PBR-based Graphics Materials in same scene
- Note: this is not the final version of the feature. User feedback is welcome.
See Artist Guide
Vortex Studio Modules
Audio
The Audio module’s primary purpose is to allow the position of audio sources in a three-dimensional space around a listener, producing reasonable spatialization of the sources for the audio system, be it stereo or surround configurations.
- Provides efficient rendering of multichannel three-dimensional positional audio.
- Sources can be defined, dynamically positioned in 3D space and modified based on actions linked with the simulation events or entities.
- Listener can be positioned and attached to simulation assets.
- Dedicated audio extensions for generating engine or playback sound.
- Provides several audio effects such as Doppler effect and control of gain and pitch.
Distributed Simulation
This module distributes data computed from a master application to one or several slaves over a TCP/IP based network. Use case includes multi-channel visualization for monitors or projectors based installation, connection of external sources into the simulation (control systems, instructor station, etc.), multiplayer simulation, etc.
- Network layer based on an abstract communication layer of which one implementation uses OpenDDS. Kinematic, repository and events information are serialized and dispatched between simulation machines.
- Accurate and reliable multichannel synchronization with unlimited number of rendering nodes.
- Support for UDP (User Datagram Protocol), a communications protocol for low-latency & loss tolerating connections between applications.
Vortex Studio provides several modules for reading data from standard external input devices such as keyboard, mouse or USB joystick.
- Provide natively access to generic desktop control such as mouse and keyboard input devices.
- USB devices, such as mouse or gamepad, are hot-pluggable; restarting the Editor or Player is not required after adding a USB device to the computer.
- Generic USB Joystick device module provides access to up to 6 analog axes, 16 buttons with support for multiple devices concurrently.
- 3D Mouse let you navigate in space more easily with support for 3Dconnexion devices with 6 DOF mouse and button
Vortex Human
The Vortex Human add-on brings lifelike human characters to simulation. Characters look realistic, respond to simple high-level commands, and travel across the environment as controllable human (avatar) or scripted characters.
Vortex Human uses VT MAK DI-Guy’s technology for the rendering of the characters.
- Several character types available with hundreds of combinations of appearance and actions.
- Seamless transitions from one activity to the next, moving naturally like real people.
- Deterministic animations to avoid having different animation states over multiple channels.
- Collides with environment (terrain, mechanisms…).
- Take control of human characters with navigation and look-around capabilities.
Network Communication (UDP)
It is possible to connect Simulink models to a Vortex Studio simulation via the UDP protocol.
During the modeling phase, both Vortex Studio Editor and Simulink applications can run side by side for fast development. Once validated, Simulink models can be connected via the UDP protocol extension and integrated into the Vortex Studio simulator for optimum performance.
- Use a Vortex Studio simulation as a virtual test bed for prototyping in MATLAB-Simulink.
- Connect Vortex Studio mechanism parameters to Simulink model.
- Integrate and run Simulink model in Vortex Studio directly from the Editor.
- Supports the execution of multiple Simulink models in a simulation, and the connection of multiple mechanisms into a Simulink model.
- Other software supporting UDP can also exchange information during simulation through the same extension.
CAD Importer Add-On
The CAD Importer Add-On streamlines the creation of lightweight 3D models usable for real time simulation and visualization. The Add-on supports the import of industry standard CAD models and provides a set of tools to heal, de-feature and transform them.
- Import of the following format to ensure interoperability with CAD and CAE systems:
- 3DXML (.3dxml), CATIA (.catpart, .catproduct, .cgr), Solidworks (.sldasm, .sldprt), STEP (.step), STL (binary and ascii), and VRML (.vrml, .wrl)
- When available, additional data is imported, such as materials (colors) and assemblies
- Several Geometry Features are available to heal, de-feature and transform 3D model:
- Automatic repairing tools (merge coincident edges, faces, vertices, stitch gaps …) o De-featuring capabilities: features recognition and simplification (holes, bump...) o Control nodes pivots transform (bake transform, create pivot transform from holes…) Interactive Sorting and Re-Organization of the imported product structure.
- Instance Management to save memory (several parts can share a common geometry).
Vortex Studio Integration with 3rd Party frameworks
Integrating Vortex Studio with Unity
Using Unity as Graphics Renderer
Integrating Vortex Studio with Unreal Engine
Operating System Support
Unless told otherwise, the features described in this documentation are available on the Windows operating systems.
For features supported on the Linux operating systems, see Vortex Studio on Linux.