Key Features

  • Simulink® blocks and MATLAB® apps and functions for connecting models to virtual reality worlds
  • Editors and viewers, including stereoscopic vision, for authoring and visualizing 3D worlds
  • Collision detection for modeling ultrasonic, LIDAR, and touch sensors
  • 2D video streaming, animation recording, and playback
  • Visualization of real-time simulations
  • Interaction with 3D views via a joystick, space mouse, or other hardware device
  • Import from STL, DAE COLLADA, URDF, and SDF file formats

Visualization of Simulink-based applications, clockwise from bottom left: self-balancing robot, aircraft over terrain, automotive vehicle dynamics, and wind farm.

Authoring 3D Worlds

Use the 3D World Editor for authoring and importing virtual reality worlds.

Building 3D Worlds

The 3D World Editor offers a hierarchical, tree-style view of VRML objects that make up the virtual world. It contains object, texture, transform, and material libraries that are stored locally for easy access.

3D World Editor showing a hierarchical, tree-style view (left) and scene preview (right) of components of a lunar module.

Importing 3D Content from the Web

You can build 3D worlds with several 3D authoring tools and export them to the X3D or VRML97 format for use with Simulink 3D Animation. In addition, you can download 3D content from the Web and use it to assemble detailed 3D scenes.

Importing CAD Models

3D World Editor lets you manipulate 3D objects imported from most CAD packages for developing detailed 3D worlds that animate dynamic systems modeled in Simscape Multibody™, Robotics System Toolbox™, and Aerospace Blockset™. Simulink 3D Animation enables you to process VRML and X3D files created by CAD tools such as SolidWorks® and PTC CreoTM (Pro/ENGINEER®). You can also import CAD models from STL, DAE COLLADA, URDF, and SDF file formats into the 3D World Editor. 

3D animation of the dynamics of a dual-clutch transmission modeled in Simscape Driveline™ (top) and trajectory trace of an aircraft computed using coordinate transformations from Aerospace Blockset (bottom).

Viewing 3D Worlds

View, zoom, pan, and move in your virtual worlds, including in stereoscopic vision.

VRML Viewers

Simulink 3D Animation includes viewers that let you navigate the virtual world by zooming, panning, moving sideways, and rotating about points of interest known as viewpoints. In the virtual world, you can establish viewpoints that emphasize areas of interest, guide visitors, or observe an object in motion from different positions. During a simulation, you can switch between these viewpoints.

Visualization of a minidrone flight path.

Building User Interfaces Containing 3D Worlds

The Simulink 3D Animation Viewer integrates with MATLAB figures so that you can combine virtual scenes with MATLAB Handle Graphics® and multiple views of one or more virtual worlds.

Example of a graphical interface authored with MATLAB Handle Graphics. The screen shows a car suspension test on a racetrack that combines multiple 3D views (top), including speed data and visualizations of the steering wheel and force triads, with 2D graphics for trend analysis (bottom).

Remote Viewing of 3D Worlds in a Web Browser

The Simulink 3D Animation Web Viewer works with HTML5-enabled web browsers to display virtual worlds on computers, phones, and tablets. You can open a virtual world on your computer then view it remotely in a web browser on a mobile device or a computer that does not have Simulink 3D Animation installed.

3D animation of an assembly line in an HTML5-enabled browser. The IP address in the browser tab refers to the host computer running the animation.

Interacting with 3D Worlds

Simulink 3D Animation provides bidirectional MATLAB and Simulink interfaces to 3D worlds. It also provides Simulink blocks and MATLAB functions for user interaction and virtual prototyping with 3D input devices, including 3D mice and force-feedback joysticks.

Aerospace vehicle landing with trajectory trace shown in red.

MATLAB Interface to 3D Worlds

From MATLAB, you can read and change the positions and other properties of VRML objects, read signals from VRML sensors, create callbacks from graphical tools, record animations, and map data onto 3D objects. You can use MATLAB Compiler™ to generate standalone applications that include Simulink 3D Animation functionality.

3D scene object properties programmatically accessed using MATLAB. 

Simulink Interface to 3D Worlds

You can control the position, rotation, and size of a virtual object in a scene to visualize its motion and deformation. During simulation, VRML object properties in the scene can also be read into Simulink. A set of vector and matrix utilities for axis transformations enables associations of Simulink signals with properties of objects in your virtual world. You can adjust views relative to objects and display Simulink signals as text in the virtual world. 2D outputs of synthetic cameras defined in the virtual world can be streamed into Simulink for further 2D video processing.

You can also trace the 3D trajectory of an object in the associated virtual scene. For example, you can perform flight-path visualization for the launch of a spacecraft.

Simulation of vehicle dynamics. 2D output of a synthetic camera attached to the car is processed using a video processing algorithm (in this case, a simple edge detection) and displayed in a video viewer window. 

3D Input Devices

Simulink 3D Animation provides Simulink blocks and MATLAB objects that allow you to use hardware input devices (3D mice and force-feedback joysticks) to manipulate objects in virtual worlds. The use of these devices, however, is not restricted to objects in virtual scenes. They can be used also in a more general sense to drive any Simulink block or control MATLAB-based algorithms.

In this model, a space mouse is used to control a manipulator. The device provides to Simulink information about translation and rotation of its controller cap and status of its buttons.

Detecting Collisions from 3D Worlds

Simulink 3D Animation allows you to detect collisions of point clouds, ray fans, and primitive geometries with surrounding virtual reality objects. You can use the PointPickSensor, LinePickSensor, and PrimitivePickSensor nodes to model ultrasonic, LIDAR, and touch sensors.

3D world of a wheeled robot with LIDAR sensor. Green lines show sensor rays; blue lines show distance to collision with surrounding objects.

Recording and Sharing Animations

Simulink 3D Animation enables you to record scene data and share your work.

Recording Scene Data

Simulink 3D Animation enables you to control frame snapshots (captures) of a virtual scene, or record animations into video files. You can save a frame snapshot of the current viewer scene as a TIFF or PNG file. You can schedule and configure recordings of animation data into AVI 2D video files and 3D animation X3D files for future playback. 3D Animation files allow you to inspect recorded animations with full virtual reality viewing experience—observe scenes from different viewpoints using stereoscopic vision, etc.

You can use video and image processing techniques on frame snapshot and animation data. These approaches enable the development of control algorithms using a visual feedback loop through the link with a virtual reality environment instead of physical experimental setups.

Simulink 3D Animation Player showing recorded 3D animation of two cars performing lane-change maneuvers with different settings of their advanced stability program control units.

Enabling Collaborative Environments

Simulink 3D Animation lets you view and interact with simulated virtual worlds on one machine that is running Simulink or on networked computers that are connected locally or via the Internet. In a collaborative work environment, you can view an animated virtual world on multiple client machines connected to a host server through TCP/IP protocol. When you work in an individual (nonnetworked) environment, your modeled system and the 3D visualization run on the same host.

Visualizing Real-Time Simulations

Simulink 3D Animation contains functionality to visualize real-time simulations and connect with input hardware. You can use C code generated from Simulink models using Simulink Coder to drive animations. This approach enhances your hardware-in-the-loop simulations or rapid prototyping applications on Simulink Real-Time and Simulink Desktop Real-Time by providing a visual animation of your dynamic system model as it connects with real-time hardware.

Components of a Simulink Real-Time testing environment that includes Simulink 3D Animation for rapid prototyping (top) and hardware-in-the-loop simulation (bottom).